YII2.0框架分页
这篇文章主要介绍了Yii分页用法,以实例形式详细分析了比较常见的几种分页方法及其应用特点,非常具有实用价值,需要的朋友可以参考下:
在这里我主要联查的 book 表和 book_press 两张表进行分页的
Controller
/**
*@action yii多表链接查询后分页
*@-----------------------------------------------------------
*@ book 表和 bookpress 联查后分页
*/
public function actionIndex()
{
$model = new Book; //实例化model
$data = $model -> pages(); //调用pages 进行联查数据
$pages = new Pagination([
'totalCount' =>$data->count(),
'pageSize' =>5, //pageSize 每页显示的条数
]);
$models = $data->offset($pages->offset)->limit($pages->limit)->asArray()->all();
return $this->render('index',[
'models' => $models,
'pages' => $pages,
]);
}
Model
/**
* @inheritdoc 多表联查数据
*/
function pages()
{
//注意: 查询的时候不能加 all 或者 asArray 查出来是对象就可以了
return $this->find()
->select('*')
->innerJoin("`book_press` as bp on `bp`.`book_id` = `book`.`title_id`");
/* 此处去掉
->asArray()
->all();
*/
}
VIEWS
<?php
use yii\helpers\Html;
use yii\widgets\LinkPager;
?>
<table border=1>
<?php foreach ($models as $model): ?>
<tr>
<td><?= $model['title']; ?></td>
<td><?= $model['author']; ?></td>
</tr>
<?php endforeach; ?>
</table>
<?= LinkPager::widget(['pagination' => $pages,
'firstPageLabel' => '首页',
'lastPageLabel' => '最后一页',
'prevPageLabel' => '上一页',
'nextPageLabel' => '下一页',
'maxButtonCount'=>5, //控制每页显示的页数
]); ?>
YII2.0框架分页的更多相关文章
- yii2.0框架安装心得
yii2.0安装心得 能够搜索到这篇文章的朋友相信是对yii框架有兴趣的,但是我不得不吐槽的是,这个安装过程确实让人头疼,接下来就让大家见证一下这个纠结的过程 根据官网的说法,安装这个框架需要用到co ...
- 8.Yii2.0框架控制器接收get.post数据
8.Yii2.0框架控制器接收get.post数据 一.get传参 <?php /** * Created by Haima. * Author:Haima * QQ:228654416 * D ...
- 教你在Yii2.0框架中如何创建自定义小部件
本教程将帮助您创建自己的自定义小部件在 yii framework 2.0.部件是可重用的模块和用于视图. 创建一个小部件,需要继承 yii\base\Widget,覆盖重写 yii\base\Wid ...
- yii2.0的分页和排序
//排序 $sort = new Sort([ 'attributes' => [ 'age' => [ 'asc' => ['age' => SORT_ASC], 'desc ...
- yii2.0框架中session与cookie的用法
我们在开发项目中南面使用到session给和cookie,那么在yii中有他自己的规则 如下案例: session使用 function actionS1(){ echo $t ...
- yii2.0框架where条件的使用
在yii框架中,where条件的使用多种多样,下面就和大家介绍几种常用有效的使用方法 1. ['type' => 1, 'status' => 2] //等于 (type = 1) AND ...
- 22.Yii2.0框架多表关联一对一查询之hasOne
思路: 通过文章查它对应的分类信息 一对一的关系 控制器里 //一对一关联查询 public function actionRelatesone() { //方法一,hasOne() 用查一条文章的结 ...
- 20.Yii2.0框架多表关联一对多查询之hasMany
目录 新手模式 hasMany关联模式查询 新建mode层Article.php 新建mode层Category.php 新建控制器HomeController.php 新手模式 用上次的查询结果,作 ...
- 19.Yii2.0框架模型删除记录
目录 //删除记录 //http://yii.com/?r=home/del public function actionDel() { //查出要删除的记录行 // 方法一:(查一行,删一行) // ...
- 18.Yii2.0框架模型修改记录 和 修改点击量
目录 修改数据 修改点击量 修改数据 上面要 use app\models\Article; //修改 //http://yii.com/?r=home/Edit public function ac ...
随机推荐
- 学生管理系统CLI版
学生管理系统CLI版 学生类 package com.itheima_03; public class Student { String sid; String name; String age; S ...
- linux 文件系统和包管理工具rpm,yum
文件系统 1.什么是文件系统? 文件系统是一种存储和组织计算机中数据文件的机制或方法,他使得对计算机内的数据的存储.访问和查找变得更容易,简单. 文件系统落到计算机里其实就是一个应用软件 ext2 e ...
- CSS vw与vh动态设置元素的高度宽度
做为一个前端开发者,总有一天我们要设置页面某一部分内容自适应浏览器窗口大小,下面分享下使用vw和vh的设置方式, 一波解释: v(即viewport):可视窗口,也就是浏览器窗口大小.vw Viewp ...
- 第12组 Beta冲刺 (1/5)
1.1基本情况 ·队名:美少女战士 ·组长博客: https://www.cnblogs.com/yaningscnblogs/p/14016591.html ·作业博客:https://edu.cn ...
- Windows 解决teamview远程必须mstsc连接
真实原因是你的TeamViewer一直在用远程桌面的ID进行登录,所以一旦远程桌面断开,TeamViewer就无法连接了.因此我们只需要切换为服务器的TeamViewer ID即可,服务器的TeamV ...
- MySQL日常维护指南
一.常用命令 1.查看数据库默认编码 show variables like 'character%'; show variables like 'collation%'; 2.启动停止数据库 /et ...
- 线上Java调优-Arthas入门
1.SSH连接目标主机,找到对应容器ID docker ps | grep eam 2.进入容器,并启用bash docker exec -it 01c6ab243ff4 /bin/bash 3.按A ...
- Linux 常用杂项命令
1.查看监听端口的进程名称 lsof -i:[3306] # 3306是端口名称 2.查看PID进程文件的位置 ls -al /proc/51955/exe # 51955是进程PID
- ASP.NET的MVC模式中分布页和布局页的使用
大概描述一下,分布页是布局页的一部分,分布页就相当于小图标,布局页就相当于PPT模板,PPT模板可以加入一些小图标(分布页),你只需要改改内容就好,视图创建的时候要选择包含布局页的 首先,去Contr ...
- Net异步委托-泛型委托Action<T>与Func<T,TResult>及 异步调用AsyncCallback
1.相同点 Func<ReqMode,ResultModel> 与 Action<ReqMode> 1).都是Net3.5 之后内置的委托方法,作用几乎一致 2).都支持lam ...