2011-01-17 10 views
0

私はユーザーに属する投稿のモデルを持っているとしましょう。ユーザーには多くの投稿があります。最新の投稿を見つける方法 - ただし、1人につき1人だけ?

作成された最新の投稿を高速かつ簡単に取得する方法はありますか?ユーザーあたり最大1つです。したがって、ユーザーAが最新の投稿5を投稿しても、最新のもののみが返され、その後にユーザーBの投稿が返されます。

マニュアルロジックを追加しなくても可能ですか?

答えて

1
Post.select('DISTINCT posts.*').group(:user_id).order('created_at desc') 
1

グループメソッドは、グループごとに1つのレコードのみを返します。

Post.group(:user_id) 

更新

あなたは、各グループからこの方法を取得どちら制御することはできませんが、データベース内に作成された最新のものを使用するように表示されます。