Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想查找字段不正确的所有记录。用于此的 AR 语法是:
Dog.where(:stray => [false, nil])
是否有一种不那么冗长的方式来查询“不正确”?必须在任何地方都满足这种 mysql 细微差别真的很糟糕。
命名范围怎么样?
scope :not_stray, where("stray IS NULL OR stray = false")
然后使用:
Dog.not_stray
我觉得你可以写Dog.where(Dog.arel_table[:stray].not_eq(true))。
Dog.where(Dog.arel_table[:stray].not_eq(true))
作为旁注,我建议您为stray数据库中的列设置一个默认值,或者至少需要一个值。这样你就不必做这个解决方法。
stray