在控制台中使用连接、拥有和位置
Using joins, having and where in console
我在 rails 控制台中试图找到所有拥有多个状态 "completed".
订单的用户
这一行给了我所有超过 1 个订单的用户,无论订单状态是完成、退款还是错误:
User.joins(:orders).group("users.id").having("count(orders)>1")
我想得到这样的东西:
User.joins(:orders).group("users.id").having("count(orders.where(state: "completed"))>1")
这是我第一次使用连接和拥有,我很困惑为什么这不起作用,我已经搜索了一段时间了。
这应该有效
User.joins(:orders).where(orders: {state: "completed"}).group("users.id").having("count(orders)>1")
我在 rails 控制台中试图找到所有拥有多个状态 "completed".
订单的用户这一行给了我所有超过 1 个订单的用户,无论订单状态是完成、退款还是错误:
User.joins(:orders).group("users.id").having("count(orders)>1")
我想得到这样的东西:
User.joins(:orders).group("users.id").having("count(orders.where(state: "completed"))>1")
这是我第一次使用连接和拥有,我很困惑为什么这不起作用,我已经搜索了一段时间了。
这应该有效
User.joins(:orders).where(orders: {state: "completed"}).group("users.id").having("count(orders)>1")