Mysql 带分页的Laravel快速加载
简而言之,到目前为止,我的帖子有很多评论,我可以对帖子进行分页,这样用户就可以在页面之间导航到另一个页面。 因此,每篇文章都有很多评论,我不想一次加载所有评论,我还想在评论中添加paginator,以便在用户每次按下某个按钮时都有大量评论,并使总评论计数和paginator对象中的所有可用内容我所做的是这样的:Mysql 带分页的Laravel快速加载,mysql,laravel,pagination,laravel-5,eloquent,Mysql,Laravel,Pagination,Laravel 5,Eloquent,简而言之,到目前为止,我的帖子有很多评论,我可以对帖子进行分页,这样用户就可以在页面之间导航到另一个页面。 因此,每篇文章都有很多评论,我不想一次加载所有评论,我还想在评论中添加paginator,以便在用户每次按下某个按钮时都有大量评论,并使总评论计数和paginator对象中的所有可用内容我所做的是这样的: public function PhotoFeed() { return PhotoFeed::with('comments')
public function PhotoFeed()
{
return PhotoFeed::with('comments')
->whereIn('user_id',$this->getFrom())
->simplePaginate(5);
}
在PhotoFeed模型中:
public function comments()
{
return $this->hasMany(Comment::class ,'feed_id');
}
但我希望能够添加paginator来评论这样的关系
public function comments()
{
return $this->hasMany(Comment::class ,'feed_id')->paginate(2);
}
因为我后来知道relation函数必须返回relation类型的对象
我也尝试过这个解决方案,它很有效
protected $appends = ['commentspaginator'];
public function getCommentsPaginatorAttribute()
{
return
$this->hasMany(Comment::class ,'feed_id')->with('user')->paginate(3);
}
但问题在于,它打破了急于加载的局面,因此每个帖子都必须自己进行查询,这很可能对性能不利
还有想法