Laravel 5.4 - 如何对急切加载关系进行分页
Posted
技术标签:
【中文标题】Laravel 5.4 - 如何对急切加载关系进行分页【英文标题】:Laravel 5.4 - How to paginate eager loading relationships 【发布时间】:2017-09-19 15:27:41 【问题描述】:我有以下代码来检索给定部分的线程及其 cmets 及其喜欢。它有效,但我想对结果进行分页。
return $this->threads()->where('state', '=', 'active')->with('comments.likes')->get();
一种方法是这样做,但它不会急切加载,因此会导致大量查询。
return $this->threads()->where('state', '=', active)->paginate(5);
有什么方法可以让我预先加载所有数据并利用 Laravel 的分页魔法?
【问题讨论】:
那么,如果你想加载所有数据然后..,分页有什么用.. @RïshïKêshKümar 当我说所有数据时,我指的是关系数据。 okkk....... 【参考方案1】:你可以像这样对线程进行分页:
Thread::where('section_id', $sectionId)
->where('state', 'active')
->with('comments.likes')
->paginate(5);
【讨论】:
完美!我还发现它是这样工作的:return $this->threads()->where('state', '=', 'active')->with('comments.likes')->paginate(5);
。我之前尝试过,但遇到了错误,所以我一定搞砸了。谢谢。以上是关于Laravel 5.4 - 如何对急切加载关系进行分页的主要内容,如果未能解决你的问题,请参考以下文章