Сообщений has_many Комментарии
Я использую searchlogic , который будет упорядочивать по именованным областям. Итак, я хотел бы, чтобы именованная область видимости упорядочивалась по последнему комментарию каждого сообщения.
named_scope :ascend_by_comment, :order => ...comments.created_at??...
Я не уверен, как сделать :joins
и получить только самый последний комментарий и отсортировать его по полю created_at
, все в named_scope
.
Я использую mysql, к вашему сведению.
EDIT:
Это запрос SQL, который я буду пытаться эмулировать:
SELECT tickets.*, comments.created_at AS comment_created_at FROM tickets
INNER JOIN
(SELECT comments.ticket_id, MAX(comments.created_at) AS created_at
FROM comments group by ticket_id) comments
ON tickets.id = comments.ticket_id ORDER BY comment_created_at DESC;