$res = DtkModel::where('ID','>','1')->select("ID")->get()->paginate(20);//不成立 $res = DtkModel::where('ID','>','1')->select("ID")->get();//成立 $res = DtkModel::where('ID','>','1')->paginate(20);//成立
(where可以写多个)
在laravel的分页中,如果想多条件,查询制定的一些字段,不要全部字段怎么实现呢?
其实我们也可以传递更多参数到paginate
方法,paginate
完整参数定义如下:
paginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null)
其中$perPage
代表每页显示数目,$columns
代表查询字段,$pageName
代表页码名称,$page
代表第几页。
在视图中显示分页结果
当你调用查询构建器或Eloquent查询上的paginate
或simplePaginate
方法时,你将会获取一个分页器实例。当调用paginate
方法时,你将获取IlluminatePaginationLengthAwarePaginator
,而调用方法simplePaginate
时,将会获取IlluminatePaginationPaginator
实例。这些对象提供相关方法描述这些结果集,除了这些帮助函数外,分页器实例本身就是迭代器,可以像数组一样对其进行循环调用。
所以,获取到结果后,可以按如下方式使用Blade
<div class="container"> @foreach ($users as $user) {{ $user->name }} @endforeach </div> {!! $users->links() !!}
links
方法将会将结果集中的其它页面链接渲染出来。每个链接已经包含了?page
查询字符串变量。记住,render
方法生成的HTML兼容Bootstrap CSS 框架。
注意:我们从Blade模板调用render
方法时,确保使用{!! !!}
语法以便HTML链接不被过滤
参考:http://laravelacademy.org/post/1854.html
http://laravelacademy.org/post/3246.html