我有两个模型:
夹克.rb:
has_many :button
belongs_to :store
按钮.rb:
belongs_to :jacket
在我的商店控制器中,我希望能够做到 @store.jackets.order(buttons: :desc),但我不能这样做,因为它不是 db 列。我该怎么做?
我有两个模型:
夹克.rb:
has_many :button
belongs_to :store
按钮.rb:
belongs_to :jacket
在我的商店控制器中,我希望能够做到 @store.jackets.order(buttons: :desc),但我不能这样做,因为它不是 db 列。我该怎么做?
您需要编写一些 SQL 来计算关联,将计数别名为一个名称,并按该名称排序:
@store.jackets.joins(:buttons).select("jackets.*, COUNT(buttons.id) as button_total").order('button_total DESC')
更多关于 sql 计数的信息