如何使用逻辑OR而不是AND组合两个不同的条件?
NOTE:2个条件是作为rails作用域生成的,不容易直接更改为类似where("x or y")
的值.
简单的例子:
admins = User.where(:kind => :admin)
authors = User.where(:kind => :author)
应用和条件很容易(对于这种特殊情况来说,这是毫无意义的):
(admins.merge authors).to_sql
#=> select ... from ... where kind = 'admin' AND kind = 'author'
但是,如果已经有两种不同的Arel关系可用,如何生成以下查询?
#=> select ... from ... where kind = 'admin' OR kind = 'author'
OR运算符尚不受支持
但我希望它不适用于这里,我希望它能写出这样的东西:
(admins.or authors).to_sql