【发布时间】:2014-11-18 05:02:15
【问题描述】:
我有一个具有 hasMany('Comments') 关系的模型 Post。我想获取所有具有评论关系的帖子,但只有每个帖子的最新一条评论。而且因为有数千个帖子,每个帖子都有数千个 cmets,由于性能问题,这样的选项是不可能的(即为每个帖子加载所有 cmets,然后执行 $post->cmets[0]->value):
Post::with('comments' => function($query){
$query->orderBy('created_at','desc')
});
我也做不到:
Post::with('comments' => function($query){
$query->orderBy('created_at','desc')->limit(1)
});
因为这是行不通的。
我完全确定我不是唯一遇到此问题的人,我确实设法找到了一些“解决方案尝试”,但不是一个稳定的工作代码示例。有人可以帮忙吗?
【问题讨论】:
-
太棒了,我今晚试试。如果您愿意,可以将其发布为答案,以便我将其标记为最佳答案:)
标签: php laravel laravel-4 eloquent relationships