我有兩個型號:User
和Post
其中有user_id
列(外鍵)和created_at
列。如何按最近的帖子排序用戶?
我想按最近的帖子對用戶進行排序。例如,如果:
user_id = 1, created 3 posts at: 17/05/2011, 19/05/2011, 21/05/2011
user_id = 2, created 1 post at: 22/05/2011
user_id = 3, created 2 posts at: 18/05/2011, 20/05/2011
的結果應該是:
user_id = 2
user_id = 1
user_id = 3
你將如何在Rails 3中實現這一目標?
這是錯誤的。例如,如果有3個用戶,並且每個用戶有一個帖子,User.joins(:posts).size'將是10,而不是3. – 2011-05-22 14:07:43
你是對的,對不起,尋找更好的東西;) – apneadiving 2011-05-22 14:13:01
這幾乎是正確的。按照Denis的建議,在我將其改爲'order(「max(created_at)DESC」)後,看起來好像有一個竅門。儘管如此,我仍然不確定沒有'max'就能完成什麼樣的排序...... – 2011-05-22 14:47:48