简而言之,我的帖子到目前为止有许多评论,我可以对帖子进行分页,以便用户可以在页面之间导航到另一个页面。 因此,每个帖子都有很多评论,我不想一次加载所有评论我想要评论中的分页符,每次用户按下一些按钮并有总评论数和每个可用的paginator对象,所以我有一大堆评论我这样做是这样的:
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');
}
但我希望能够添加分页器来评论关系Like So
public function comments()
{
return $this->hasMany(Comment::class ,'feed_id')->paginate(2);
}
因为我后来知道关系函数必须返回关系类型对象
我也试过这个解决方案并且可行
protected $appends = ['commentspaginator'];
public function getCommentsPaginatorAttribute()
{
return
$this->hasMany(Comment::class ,'feed_id')->with('user')->paginate(3);
}
但问题是它打破了急切的加载事情,所以每个帖子都必须自己进行查询,所以很可能对性能不利
和想法??