如何在 Rails 中编写 where 子句来测试多个值?
这不起作用:
where("wostatus_id = ?", 231 or 230 or 8466 )
还需要这样的语法:
where("wostatus_id != ?", 231 and 230 and 8466 )
谢谢您的帮助!
如何在 Rails 中编写 where 子句来测试多个值?
这不起作用:
where("wostatus_id = ?", 231 or 230 or 8466 )
还需要这样的语法:
where("wostatus_id != ?", 231 and 230 and 8466 )
谢谢您的帮助!
你可以这样做...
where("wostatus_id IN (?)", [231, 230, 8466])
或者
where("wostatus_id NOT IN (?)", [231, 230, 8466])
您可以只使用正常的哈希条件:
Model.where(wostatus_id: [230, 231, 8466])
这将产生预期的“IN”查询。在 Rails 3 中,没有办法将其转换为“NOT IN”,因此您需要依靠该where("wostatus_id NOT IN (?)", [230, 231, 8466])
方法。
在 Rails 4 中,您应该能够:
Model.where.not(wostatus_id: [230, 231, 8466])