Rails如何按HABTM表中的出现次数排序?

时间:2014-01-06 05:16:45

标签: ruby-on-rails ruby-on-rails-3 activerecord ruby-on-rails-4

我有两种模式:

Questions:
    has_and_belongs_to_many :topics

Topics:
    has_and_belongs_to_many :questions

相关联接表:questions_topics

如何编写查询以在加入表中获取所有主题及其出现次数,并按计数排序(按照最活跃主题的顺序显示)?

所以基本上我希望能够在一个查询中执行此操作:

  1. list = Topics.all
  2. list.questions.count
  3. 排序

    更新

    是否有更好的rails方式来编写以下查询?(这似乎提供了所需的结果:

    Topic.includes(:questions).group('questions_topics.topic_id').references(:questions).order("count(questions_topics.topic_id) DESC")

0 个答案:

没有答案