最好的Laravel中文文档

时间:2020-12-29 08:11:39

分页

配置

在其它的框架中,分页有时很痛苦. 但是Laravel让分页简单到不可思议. 默认Laravel包含了两个分页视图, 在app/config/view.php 文件中的pagination选项中指定分页链接具体使用哪一个视图.

pagination::slider视图 基于当前所在页数给出一个浮动的页数范围,pagination::simple 视图只是简单的给出 '上一页' '下一页' 两个链接. 两个视图都能完美的和bootstrap框架结合

基本用法

Laravel有多种方式实现分页. 最简单的是在普通查询或Eloquent模型查询中使用 paginate 方法.

从数据库查询中分页

$users= DB::table('users')->paginate(15);

也可以从 Eloquent 模型中分页:

从一个 Eloquent 模型中分页

$allUsers=User::paginate(15);$someUsers=User::where('votes','>',100)->paginate(15);

你只需要吧每页查询的记录数传给paginate方法即可. 在获得包含分页的查询结果集之后, 就可以在视图中展示了, 在视图中输出分页链接使用 links 方法:

<divclass="container"><?phpforeach($usersas$user):?><?phpecho$user->name;?><?phpendforeach;?></div><?phpecho$users->links();?>

以上就是创建一个分页链接的所需的所有信息了! 我们还没有提到Laravel做了什么. Laravel会自己把其它的事情做完.

你也可以通过下面的方法获取关于分页更加详尽的信息:

  • getCurrentPage
  • getLastPage
  • getPerPage
  • getTotal
  • getFrom
  • getTo
  • count

有时你可能希望自定义分页, 只需使用 Paginator::make 方法,并把 记录集合(当前页需要展示的数据集), 总记录数(int), 每页记录数(int) 作为参数:

自定义分页

$paginator=Paginator::make($items,$totalItems,$perPage);

给分页链接添加自定义信息

可以通过分页器的 appends 方法为分页链接添加上自定查询字符串:

<?phpecho$users->appends(array('sort'=>'votes'))->links();?>

最后产生的url如下:

http://example.com/something?page=2&sort=votes