【问题标题】:Laravel 5.4 - How to paginate eager loading relationshipsLaravel 5.4 - 如何对急切加载关系进行分页
【发布时间】: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.......

标签: laravel pagination relationship eager-loading


【解决方案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);。我之前尝试过,但遇到了错误,所以我一定搞砸了。谢谢。
猜你喜欢
  • 1970-01-01
  • 2017-09-09
  • 2021-12-01
  • 2021-09-10
  • 1970-01-01
  • 1970-01-01
  • 2016-06-06
  • 2021-09-29
  • 2016-07-04
相关资源
最近更新 更多