Laravel Eager正在加载W / Pagination

时间:2016-02-05 11:48:01

标签: mysql laravel pagination laravel-5 eloquent

简而言之,我的帖子到目前为止有许多评论,我可以对帖子进行分页,以便用户可以在页面之间导航到另一个页面。 因此,每个帖子都有很多评论,我不想一次加载所有评论我想要评论中的分页符,每次用户按下一些按钮并有总评论数和每个可用的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);

          }

但问题是它打破了急切的加载事情,所以每个帖子都必须自己进行查询,所以很可能对性能不利

和想法??

0 个答案:

没有答案