0

次の質問を手伝ってください:

私はテーブルbrandsとテーブルを持っていますproducts( has_many - belongs_to association)

テーブル製品には、フィールド " Rank" があります。

そして、その製品の合計ランクが最高のトップ5ブランドを表示したい

試みる:

Brand.joins(:products).order('products.rank DESC').limit(10).uniq!

しかし、それは間違っています - それはproducts.rankの合計ではありません...

製品ランクの合計でリライズする方法

4

1 に答える 1

1

あなたは近いですが、グループ化とグループ化されたオブジェクトの合計を実行することを逃しました:

Brand.joins(:products).group("brands.id").order('SUM(products.rank) DESC').limit(5)
于 2013-02-28T13:35:58.903 に答える