按最新评论或最新主题排序

时间:2013-01-29 18:52:00

标签: ruby-on-rails join

我成功地实现了一个查询来显示索引中的主题,并使用此命令按最新评论排序:

Topic.joins(:comments).
      select('topics.*, max(comments.created_at) as last_comment').
      group('topics.id').
      order('last_comment desc')

然而,这引入了另一个问题。新主题现在出现在列表的底部。

有没有办法在查询中包含或加入主题created_at日期以及评论created_at日期? flatten是正确的做法吗?

1 个答案:

答案 0 :(得分:0)

我建议您使用

Topic.joins(:comments).order('comments.created_at desc')

在这种情况下,您的主题将按最新评论日期排序