如何最好在Rails(3.2)中生成一个查询,该查询返回一组父记录,这些记录取决于其子项总和的结果?
例如......
如果和订单有许多项
如何选择Items.price(订单)总和大于50.0的所有订单?
答案 0 :(得分:3)
试试这个:
Order.joins(:items).
group("items.order_id").
having("SUM(items.price) > 50")
答案 1 :(得分:0)
试试这个:
Order.joins(:items).where("SUM(items.price) > 50").all
这将对数据库进行单一查询,选择订单商品价格总和大于50的所有订单。
修改强>
这不起作用。见评论。