2017-07-30 94 views
0

我在rails控制台中尝试查找具有状态为“已完成”的多个订单的所有用户。使用连接,具有和在控制台中的位置

这一行给了我所有的用户超过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

这应该工作

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

它的工作完美,谢谢! – Hamza1510