Rails:如何用OR而不是AND链接作用域查询?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (14)

我正在使用Rails3,ActiveRecord

只是想知道如何用OR语句而不是AND来连接范围。

Person.where(:name => "John").where(:lastname => "Smith")

这通常返回名称='约翰'和姓氏='史密斯',但我想:

name ='John'OR lastname ='Smith'

提问于
用户回答回答于

使用ARel

t = Person.arel_table

results = Person.where(
  t[:name].eq("John").
  or(t[:lastname].eq("Smith"))
)
用户回答回答于

You would do

Person.where('name=? OR lastname=?', 'John', 'Smith')

现在,新的AR3语法没有任何其他或支持(即不使用某些第三方GEM)。

扫码关注云+社区