3

如何在 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 条评论的分页。

提前感谢您的帮助。

4

2 回答 2

3

您有两个选择:可以调用paginate()关系查询,也可以手动创建分页器。

调用paginate()关系查询(使用关系函数):

$user = User::find(1);
$comments = $user->comments()->paginate(10);

手动创建分页器(使用关系属性):

$user = User::find(1);
$paginator = Paginator::make($user->comments, $user->comments->count(), 10);

分页文档可以在这里找到。

于 2015-05-29T17:21:40.280 回答
1

尝试这个,

$only10comments = User::with('comments')->paginate(10);

如果您在分页中使用下一个、上一个链接,则使用 simplePagination。

$only10comments = User::with('comments')->simplePaginate(10);

希望这可以帮助。

于 2015-07-16T15:22:12.260 回答