我有一个书籍集合,他们可以通过另一个表关联很多主题。Rails/Active Record,通过关联排序/ has_many计数
class Book < ActiveRecord::Base
has_many :book_topics, dependent: :destroy
has_many :topics, through: :book_topics
end
然后,我有一个助手,列出所有的话题,但我想列出主题,通过具有该主题图书的数量进行排序。
我试过的变化:
def topic_list
Topic.joins(:book_topics)
.group("book_topics.topic_id")
.order("count(book_topics.book_id) desc")
end
没有运气。
'book_topics.video_id'?该字段是否在'book_topics'表中?我希望看到'topic_id'。也许这就是问题所在? –
是的,抱歉,这意味着要topic_id,而不是video_id - 不是问题,只是代表我输入错误。 –
然后解决你的问题。这对我来说似乎是合法的,问题到底是什么? –