我有一个Order
模型,其属性为skip_reason
。我想列出除skip_reason
和full
以外locked
的所有订单。
我正在使用where.not
,但它不会返回nil
列上skip_reason
的订单。
我想出了以下条件,
> orders.pluck(:skip_reason)
=> ["locked", nil, nil, "unavailable", nil, nil, "locked", nil, nil, "full"]
> orders.where.not(skip_reason: ["full", "locked"]).pluck(:skip_reason)
=> ["unavailable"]
那么如何列出nil
列skip_reason
值的订单?任何建议将不胜感激。
答案 0 :(得分:2)
在rails 4中试过这个并且似乎有效。这对你好吗?否则我认为你应该使用原始SQL来获取where子句
orders.where(skip_reason: [nil, "unavailable"])