易优cms分页paginate方法说明
5.0.5 分页方法返回think\Paginator对象(用法不变)
5.0.1 支持第二个参数直接传入总记录数ThinkPHP5.0内置了分页实现,要给数据添加分页输出功能在5.0变得非常简单,可以直接在Db类查询的时候调用paginate方法:
// 查询状态为1的用户数据 并且每页显示10条数据
$list = Db::name(‘user’)->where(‘status’,1)->paginate(10);
// 把分页数据赋值给模板变量list
$this->assign(‘list’, $list);
// 渲染模板输出
return $this->fetch();也可以改成模型的分页查询代码:
// 查询状态为1的用户数据 并且每页显示10条数据
$list = User::where(‘status’,1)->paginate(10);
// 把分页数据赋值给模板变量list
$this->assign(‘list’, $list);
// 渲染模板输出
return $this->fetch();模板文件中分页输出代码如下:
{volist name=’list’ id=’user’}
{/volist}
{$list->render()}也可以单独赋值分页输出的模板变量
// 查询状态为1的用户数据 并且每页显示10条数据
$list = User::where(‘status’,1)->paginate(10);
// 获取分页显示
$page = $list->render();
// 模板变量赋值
$this->assign(‘list’, $list);
$this->assign(‘page’, $page);
// 渲染模板输出
return $this->fetch();模板文件中分页输出代码如下:
{volist name=’list’ id=’user’}
{/volist}
{$page}默认情况下,生成的分页输出是完整分页功能,带总分页数据和上下页码,分页样式只需要通过样式修改即可,完整分页默认生成的分页输出代码为:
传入总记录数( V5.0.1)
V5.0.1版本开始,支持传入总记录数而不会自动进行总数计算,例如:
// 查询状态为1的用户数据 并且每页显示10条数据 总记录数为1000
$list = User::where(‘status’,1)->paginate(10,1000);
// 获取分页显示
$page = $list->render();
// 模板变量赋值
$this->assign(‘list’, $list);
$this->assign(‘page’, $page);
// 渲染模板输出
return $this->fetch();分页后数据处理 (V5.0.9)
V5.0.9版本开始 支持分页类后数据直接each遍历处理,方便修改分页后的数据,而不是只能通过模型的获取器来补充字段。
$list = User::where(‘status’,1)->paginate()->each(function($item, $key){
$item->nickname = ‘think’;
});如果是Db类操作分页数据的话,each方法的闭包函数中需要使用返回值,例如:
$list = Db::name(‘user’)->where(‘status’,1)->paginate()->each(function($item, $key){
$item[‘nickname’] = ‘think’;
return $item;
});简洁分页
如果你仅仅需要输出一个 仅仅只有上下页的分页输出,可以使用下面的简洁分页代码:
// 查询状态为1的用户数据 并且每页显示10条数据
$list = User::where(‘status’,1)->paginate(10,true);
// 把分页数据赋值给模板变量list
$this->assign(‘list’, $list);
// 渲染模板输出
return $this->fetch();简洁分页模式的输出代码为:
由于简洁分页模式不需要查询总数据数,因此可以提高查询性能。
分页参数
主要的分页参数如下:
参数 描述
list_rows 每页数量
page 当前页
path url路径
query url额外参数
fragment url锚点
var_page 分页变量
type 分页类名分页参数的设置方式有两种,第一种是在配置文件中定义,例如:
//分页配置
‘paginate’ => [
‘type’ => ‘bootstrap’,
‘var_page’ => ‘page’,
],type属性支持命名空间,例如:
//分页配置
‘paginate’ => [
‘type’ => ‘\org\page\bootstrap’,
‘var_page’ => ‘page’,
],也可以在调用分页方法的时候传入,例如:
$list = Db::name(‘user’)->where(‘status’,1)->paginate(10,true,[
‘type’ => ‘bootstrap’,
‘var_page’ => ‘page’,
]);如果您的问题还未解决可以联系站长付费协助。
![加入我们](https://www.upbaike.com/skin/images/6db4c55f862f51725eae1c18bbc5706.png)
有问题可以加入技术QQ群一起交流学习
本站vip会员 请加入无忧模板网 VIP群(50604020) PS:加入时备注用户名或昵称
普通注册会员或访客 请加入无忧模板网 技术交流群(50604130)
客服微信号:15898888535
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若内容侵犯了原著者的合法权益,可联系站长删除。