Laravel Pagination


Laravel Pagination

如何在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);