【发布时间】:2016-01-04 23:57:20
【问题描述】:
假设我有这两张桌子:
Users: id, name
Posts: id, user_id, created_at
我正在尝试获取每个用户的 2 个最新帖子。我正确设置了关系模型。起初我以为我可以只使用 ->take(2) 但这只会从整个查询中返回 2 行。
这就是我现在拥有的:
$user->load(['posts' => function($query) {
$query->orderBy('id', 'desc');
}]);
这将返回每个用户的所有帖子。现在确实不是问题,但如果用户有成百上千的帖子,那将很快成为内存占用。
希望使用急切加载来获取每个用户的最后 2 条记录的最佳方法是什么?我可以通过获取每个用户的最后 2 条记录轻松做到这一点,但查询太多了。
【问题讨论】:
标签: laravel laravel-5 eloquent