Я должен повторить это снова, так как мой последний ответ на сообщения не был реальным решением:
У меня есть Сообщения и Комментарии в моем приложении Rails.Я хочу отображать сообщения, упорядоченные по последним действиям, то есть сообщения с последним комментарием идут первыми.
У меня есть этот SQL и несколько проблем на данный момент:
Post.left_outer_joins(:comments).
order('comments.created_at DESC, posts.created_at DESC').
uniq
Как вы можете видетьон объединяет две таблицы, упорядочивает результаты и выбирает из них уникальные записи
Проблемы:
- Если у сообщений нет комментариев, тогда эти сообщения всегда отображаются первыми в нисходящем порядкеПорядок их создания, но я хочу, чтобы сообщения были в порядке недавней активности.
Так же, как форум, который сортирует сообщения пользователей после недавних действий в них
Я хотел бы объединить столбцы comments.created_at
и posts.created_at
в столбец posts.created_at
со значением:
comments.created_at
, если не ноль, то еще posts.created_at
, есликомментариев нет
и затем заказывайте весь запрос после posts.created_at
Буду очень признателен за помощь в решении этой проблемы, спасибо