0

私は2つのモデルを持っています:

jacket.rb:

  has_many :button
  belongs_to :store

ボタン.rb:

belongs_to :jacket

私のストアコントローラーでは、 @store.jackets.order(buttons: :desc) を実行できるようにしたいのですが、db 列ではないため実行できません。どうすればいいですか?

4

1 に答える 1

0

関連付けをカウントし、カウントを名前にエイリアスし、その名前で並べ替えるには、いくつかの SQL を記述する必要があります。

@store.jackets.joins(:buttons).select("jackets.*, COUNT(buttons.id) as button_total").order('button_total DESC')

SQL カウントの詳細はこちら

于 2014-03-07T00:23:28.083 に答える