laravel多条件查询,及分页

$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查询上的paginatesimplePaginate方法时,你将会获取一个分页器实例。当调用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

原文地址:https://www.cnblogs.com/fps2tao/p/7998559.html