我使用的是Rails3、ActiveRecord
我想知道如何使用OR语句而不是AND语句来链接作用域。
例如:
Person.where(:name => "John").where(:lastname => "Smith")
它通常会返回:
name = 'John' AND lastname = 'Smith'
但我想说:
`name = 'John' OR lastname = 'Smith'
发布于 2010-09-10 20:38:43
你会这么做的
Person.where('name=? OR lastname=?', 'John', 'Smith')
现在,新的AR3语法没有任何其他的OR支持(也就是说,没有使用第三方gem)。
发布于 2017-03-20 10:05:55
根据this pull request的说法,Rails 5现在支持以下用于链接查询的语法:
Post.where(id: 1).or(Post.where(id: 2))
还可以通过this gem.将该功能反向移植到Rails4.2中
发布于 2010-09-10 20:57:24
使用ARel
t = Person.arel_table
results = Person.where(
t[:name].eq("John").
or(t[:lastname].eq("Smith"))
)
https://stackoverflow.com/questions/3684311
复制相似问题