Tengo dos modelos: User
, y Post
que tiene user_id
columna (clave externa) y created_at
columna.¿Cómo ordenar los usuarios por la publicación más reciente?
Me gustaría ordenar los usuarios por la publicación más reciente. Por ejemplo, si:
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
el resultado debería ser:
user_id = 2
user_id = 1
user_id = 3
¿Cómo puede lograr esto en Rails 3?
Eso está mal. Si, por ejemplo, hay 3 usuarios y cada usuario tiene una publicación, 'User.joins (: posts) .size' será 10, en vez de 3. –
tienes razón, lo siento, buscando algo mejor;) – apneadiving
Eso es casi correcto. Después de cambiar esto a 'orden (" max (created_at) DESC ")', como sugirió Denis, parece que funciona. Sin embargo, todavía no estoy seguro de qué tipo de clase se hace sin el 'máximo' ... –