1

如何最好地在 Rails (3.2) 中生成一个查询,该查询返回一组父记录,该父记录取决于其子记录的总和?

例如...

如果和订单有很多项目

您将如何选择 Items.price(对于订单)的总和大于 50.0 的所有订单?

4

2 回答 2

3

试试这个:

Order.joins(:items).
      group("items.order_id").
      having("SUM(items.price) > 50")
于 2013-03-13T21:17:38.230 回答
0

试试这个:

Order.joins(:items).where("SUM(items.price) > 50").all

这将对数据库进行一次查询,选择订单商品价格总和大于 50 的所有订单。

编辑:

这行不通。看评论。

于 2013-03-13T19:59:40.163 回答