Что такое способ Rails 3 для упорядочивания .group() приводит к Activerecord (здесь "created_at" )?
@messages = Message.group(:foo)
выводит только самое старое сообщение. Мне нужно, чтобы последние были показаны.
Я пробовал
@messages = Message.group(:foo).having("created_at = MAX(created_at)")
без успеха. Любые подсказки оценены!
Чтобы уточнить: я ищу, чтобы группа заказала внутри себя, а не обычный message.order( "..." ). Если не будет простого синтаксиса Activerecord, я был бы рад также сырым SQL
Обновление: попытка SQL-пути должна была работать:
@messages = Message.find_by_sql("
SELECT messages.*
FROM messages
GROUP BY messages.foo
HAVING messages.created_at = MAX(messages.created_at)
ORDER BY messages.created_at DESC")
Но это извлекает только отдельные записи (те, которые не сгруппированы). Предположительно сгруппированные опускаются. Не знаю, почему все записи имеют: created_at и: foo values