【发布时间】:2014-05-12 05:42:46
【问题描述】:
我有一个名为 posts 的表和另一个名为 users 的表。表posts有一个字段user_id。
我需要获取最后三个注册用户的最后一个帖子。我尝试过这样的事情:
Post::with('user')->groupBy('user_id')->orderBy('id','desc')->take(3)->get();
结果接近我需要的,但不完全是,因为我正在获取最后三个注册用户的第一个帖子。
因此,我需要知道如何使用 Eloquent 制作这样的东西:
SELECT * FROM (SELECT * FROM posts ORDER BY id DESC)sub GROUP BY user_id LIMIT 3;
我不想使用原始查询,因为如您所见,我也需要检索 User 对象。
【问题讨论】: