首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何用OR代替AND来链接作用域查询?

如何用OR代替AND来链接作用域查询?
EN

Stack Overflow用户
提问于 2010-09-10 19:41:49
回答 17查看 127.2K关注 0票数 152

我使用的是Rails3、ActiveRecord

我想知道如何使用OR语句而不是AND语句来链接作用域。

例如:

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

它通常会返回:

name = 'John' AND lastname = 'Smith'

但我想说:

`name = 'John' OR lastname = 'Smith'
EN

回答 17

Stack Overflow用户

发布于 2010-09-10 20:38:43

你会这么做的

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

现在,新的AR3语法没有任何其他的OR支持(也就是说,没有使用第三方gem)。

票数 114
EN

Stack Overflow用户

发布于 2017-03-20 10:05:55

根据this pull request的说法,Rails 5现在支持以下用于链接查询的语法:

Post.where(id: 1).or(Post.where(id: 2))

还可以通过this gem.将该功能反向移植到Rails4.2中

票数 75
EN

Stack Overflow用户

发布于 2010-09-10 20:57:24

使用ARel

t = Person.arel_table

results = Person.where(
  t[:name].eq("John").
  or(t[:lastname].eq("Smith"))
)
票数 50
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3684311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档