Laravel 分页
Posted
技术标签:
【中文标题】Laravel 分页【英文标题】:Laravel Pagination 【发布时间】:2015-08-12 15:10:30 【问题描述】:如何在 laravel 中创建分页?
我的模型
发帖
function comments()
return $this->hasMany('Comment')
->orderBy('created_at', 'desc');
评论
function posts()
return $this->belongsTo('Post');
用户
function posts()
return $this->hasMany('Post');
function comments()
return $this->hasMany('Comment');
用户控制器
$user = User::find(1); //this will give me all the user's post and comment details
//i know I can do $user = User::paginate(30) to get 30 user per page
我想要实现的目标
我想创建一个每页 10 条评论的分页。
提前感谢您的帮助。
【问题讨论】:
【参考方案1】:您有两个选择:您可以在关系查询上调用paginate()
,或者您可以手动创建分页器。
在关系查询上调用paginate()
(使用关系函数):
$user = User::find(1);
$comments = $user->comments()->paginate(10);
手动创建分页器(使用关系属性):
$user = User::find(1);
$paginator = Paginator::make($user->comments, $user->comments->count(), 10);
分页文档可以在here找到。
【讨论】:
嗨@patricus 感谢您的快速响应。有什么方法可以让用户在模型中分页? @CannotFindSymbol 很抱歉,我不确定你在问什么。【参考方案2】:试试这个,
$only10cmets = User::with('cmets')->分页(10);
如果您在分页中使用下一个、上一个链接,则使用 simplePaginate。
$only10cmets = User::with('cmets')->simplePaginate(10);
希望这会有所帮助。
【讨论】:
以上是关于Laravel 分页的主要内容,如果未能解决你的问题,请参考以下文章
laravel 分页小技巧(不使用laravel自带的分页情况下)