Rails (3.2) で、子の合計の結果に応じて親レコードのセットを返すクエリを作成するにはどうすればよいですか?
例えば...
If とOrderに多数のアイテムがある場合
Items.price (注文の) の合計が 50.0 より大きいすべての注文をどのように選択しますか?
Rails (3.2) で、子の合計の結果に応じて親レコードのセットを返すクエリを作成するにはどうすればよいですか?
例えば...
If とOrderに多数のアイテムがある場合
Items.price (注文の) の合計が 50.0 より大きいすべての注文をどのように選択しますか?
これを試して:
Order.joins(:items).
group("items.order_id").
having("SUM(items.price) > 50")
これを試して:
Order.joins(:items).where("SUM(items.price) > 50").all
これにより、データベースに対して単一のクエリが作成され、注文アイテムの価格の合計が 50 を超えるすべての注文が選択されます。
編集:
これは機能しません。コメントを参照してください。