Laravel 分页

3
如何在Laravel中创建分页?
我的模型:
文章(Post)
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条评论的分页。

提前感谢您的帮助。

2个回答

3
你有两个选择:你可以在关联查询上调用paginate()方法,或者手动创建分页器。
在关联查询上调用paginate()方法(使用关联函数):
$user = User::find(1);
$comments = $user->comments()->paginate(10);

手动创建分页器(使用relationship属性):
$user = User::find(1);
$paginator = Paginator::make($user->comments, $user->comments->count(), 10);

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


嗨@patricus,感谢您的快速回复。我能在模型中使用分页吗? - usrNotFound
@CannotFindSymbol 对不起,我不确定你在问什么。 - patricus

1

试试这个:

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

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

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

希望这可以帮到您。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接