假设我有一个属于用户的帖子模型。用户有很多帖子。
是否有快速简单的方法来获取创建的最新帖子,但每个用户最多一个?因此,即使用户A发布了5个最新帖子,也只返回最新的帖子,然后是用户B的帖子。
可以不添加手动逻辑吗?
答案 0 :(得分:1)
Post.select('DISTINCT posts.*').group(:user_id).order('created_at desc')
答案 1 :(得分:1)
组方法每组只返回一条记录。
Post.group(:user_id)
更新
您不能以这种方式控制从每个组中获得哪一个,但它似乎使用在数据库中创建的最新组。