如何在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条评论的分页。
提前感谢您的帮助
您有两种选择:您可以在关系查询中调用paginate()
,或者您可以手动创建分页器。
在关系查询中调用paginate()
(使用关系函数):
$user = User::find(1);
$comments = $user->comments()->paginate(10);
手动创建分页器(使用关系属性):
$user = User::find(1);
$paginator = Paginator::make($user->comments, $user->comments->count(), 10);
分页文档可以在这里找到
试试这个,
$only10comments = User::with('comments')->paginate(10);
如果在分页中使用next、previous链接,则使用simplePaginate。
$only10comments = User::with('comments')->simplePaginate(10);