6
我有一个有hasMany('评论')关系的模型发布。我想取所有帖子与评论关系,但只有最新的一个评论每个帖子。因为有数千个帖子,每个帖子都有数千条评论,所以由于性能问题(例如,为每个帖子加载所有评论,然后进行$ post-> comments [0] - > value),这样的选项是不可能的:Laravel中的限制关系
Post::with('comments' => function($query){
$query->orderBy('created_at','desc')
});
我也不能这样做:
Post::with('comments' => function($query){
$query->orderBy('created_at','desc')->limit(1)
});
,因为这是行不通的。
我完全相信我不是唯一一个有这个问题的人,我确实设法找到了一些“解决方案的尝试”,但没有找到一个稳定的工作代码示例。任何人都可以帮忙吗?
http://stackoverflow.com/questions/24343738/getting-just-the-latest-value-on-a-joined-table的重复-with-雄辩#24350807。也请看看这个http://softonsofa.com/tweaking-eloquent-relations-how-to-get-latest-related-model/ – 2014-09-23 21:07:38
辉煌,我今晚会尝试它。如果你想,你可以把它作为答案,以便我可以将它标记为最佳答案:) – 2014-09-24 07:08:06