在控制台

时间:2017-07-30 16:00:25

标签: sql ruby-on-rails rails-console

我在rails控制台内部试图查找所有拥有多个订单的用户,这些订单的状态为#34;已完成"。

此行一般为我提供超过1个订单的所有用户,无论订单状态是否已完成,退款或错误:

User.joins(:orders).group("users.id").having("count(orders)>1")

我试图得到这样的东西:

User.joins(:orders).group("users.id").having("count(orders.where(state: "completed"))>1")

这是我第一次使用加入和使用,我很困惑为什么这不起作用,而且我已经搜索了一段时间了。

1 个答案:

答案 0 :(得分:1)

这应该有效

User.joins(:orders).where(orders: {state: "completed"}).group("users.id").having("count(orders)>1")