【发布时间】:2017-10-19 13:55:48
【问题描述】:
我正在尝试检索(分页)帖子列表,并将他们最近的 cmets 包含在一个 Eloquent 查询语句中。 Posts 和 cmets 通过一对多的关系连接。
这是我的尝试:
Post::with(['comments' => function ($query) {
$query->orderBy('created_at', 'asc')->take(3);
}])->simplePaginate(15);
但这只会检索 总共 3 个 cmets,而不是每个帖子 3 个 cmets。
【问题讨论】:
-
我不认为 laravel 允许你限制急切加载的关系。我建议遍历 post 数组并加载 cmets,例如: $posts = Post::simplePaginate(15); foreach($posts as post) { $post->load(['cmets' => function($query) { $query->orderBy('created_at', 'asc')->take(3);}]) '
标签: php laravel eloquent query-builder