İki modelim var: User
, ve user_id
sütun (yabancı anahtar) ve created_at
sütununa sahip Post
.Kullanıcıları en son gönderime göre nasıl sıralayabilirim?
Kullanıcıları en son gönderiye göre sıralamak isterim. Örneğin, eğer:
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
sonucu olmalıdır:
user_id = 2
user_id = 1
user_id = 3
Nasıl bu Rails 3 başarmak ki?
Bu yanlış. Örneğin, 3 kullanıcı varsa ve her kullanıcı bir gönderi varsa, 'User.joins (: mesajlar) .size' 3 yerine 10, –
haklısınız, üzgünüm, daha iyi bir şey arıyor;) – apneadiving
Bu neredeyse doğru. Bunu "sipariş (" max (created_at) DESC ") olarak değiştirdikten sonra, Denis'in önerdiği gibi, hile yapar gibi görünüyor. Yine de, "max" olmadan ne tür bir sıralama yapıldığı konusunda emin değilim ... –