laravel与分页
2016-12-05 00:28
316 查看
如果你只需要在分页视图中简单的显示“下一个”和“上一个”链接,可以使用
有时候你可能想要通过传递数组数据来手动创建分页实例,你可以基于自己的需求通过创建
换句话说,
对应
当手动创建分页器实例的时候,应该手动对传递到分页器的结果集进行“切片”,如果你不确定怎么做,查看PHP函数array_slice。
当你调用查询构建器或Eloquent查询上的
所以,获取到结果后,可以按如下方式使用Blade显示这些结果并渲染页面链接:
simplePaginate方法来执行该查询。在渲染包含大数据集的视图且不需要显示每个页码时非常有用:
$users = DB::table('users')->simplePaginate(15);
手动创建分页器
有时候你可能想要通过传递数组数据来手动创建分页实例,你可以基于自己的需求通过创建Illuminate\Pagination\Paginator或
Illuminate\Pagination\LengthAwarePaginator实例来实现。
Paginator类不需要知道结果集中数据项的总数;然而,正因如此,该类也没有提供获取最后一页索引的方法。
LengthAwarePaginator接收参数和
Paginator几乎一样,只是,它要求传入结果集的总数。
换句话说,
Paginator
对应
simplePaginate方法,而
LengthAwarePaginator对应
paginate方法。
当手动创建分页器实例的时候,应该手动对传递到分页器的结果集进行“切片”,如果你不确定怎么做,查看PHP函数array_slice。
在视图中显示分页结果
当你调用查询构建器或Eloquent查询上的paginate或
simplePaginate方法时,你将会获取一个分页器实例。当调用
paginate方法时,你将获取
Illuminate\Pagination\LengthAwarePaginator,而调用方法
simplePaginate时,将会获取
Illuminate\Pagination\Paginator实例。这些对象提供相关方法描述这些结果集,除了这些帮助函数外,分页器实例本身就是迭代器,可以像数组一样对其进行循环调用。
所以,获取到结果后,可以按如下方式使用Blade显示这些结果并渲染页面链接:
<div class="container"> @foreach ($users as $user) {{ $user->name }} @endforeach </div> {!! $users->render() !!}
相关文章推荐
- 如何在三天内使用Thinkphp搭建商城系统(一)
- laravel和数据库的那点事2
- [ATPG]解读report_nonscan_cells -summary得到的report
- thinkPHP js文件中U方法不被解析问题的解决方法
- thinkPHP中配置的读取与C方法详解
- thinkPHP中_initialize方法实例分析
- thinkPHP自动验证机制详解
- thinkPHP简单实现多个子查询语句的方法
- 解决mySQL中1862(phpmyadmin)/1820(mysql)错误的方法
- PHP实现四种基本排序算法
- laravel和数据库的那点事1
- php中 如何验证一个字符串中是否存在某个字符串
- php 去掉字符串中的一段字符串
- YII2.0 错误cURL error 6: Could not resolve host:
- Yii2.0预定义的别名功能小结
- php 转换无限极分类数组到树状结构
- 麦进斗 + php7 运行
- yii2 GridView 查询子表数据(情景一)根据子表某字段排序或查询
- laravel5.3实现多用户组登录
- ubuntu server deploy增加对ubuntu 1604支持