Как найти последние сообщения - но только одно на пользователя? - PullRequest
0 голосов
/ 18 января 2011

Допустим, у меня есть модель сообщений, принадлежащих пользователю. У пользователя много сообщений.

Существует ли быстрый и простой способ получить последние созданные сообщения, но не более одного на пользователя? Таким образом, даже если пользователь A опубликовал 5 последних сообщений, возвращается только самое последнее, за которым следует сообщение пользователя B.

Возможно без добавления ручной логики?

Ответы [ 2 ]

1 голос
/ 18 января 2011

Групповой метод возвращает только одну запись на группу.

Post.group(:user_id)

Обновление

Вы не можете контролировать, какой из этих групп вы получаете таким образом, но, похоже, он использует последний, созданный в базе данных.

1 голос
/ 18 января 2011
Post.select('DISTINCT posts.*').group(:user_id).order('created_at desc')
...