Ruby on rails Rails使用AND而不是OR与where连接

Ruby on rails Rails使用AND而不是OR与where连接,ruby-on-rails,postgresql,activerecord,Ruby On Rails,Postgresql,Activerecord,我有一个作用域(其中title是一个数组) 默认情况下,这将执行和查询。我如何让它执行或查询?我似乎找不到任何这样的例子 我相信这就是生成的SQL: Label Load (0.1ms) SELECT "labels".* FROM "labels" WHERE "labels"."project_id" = $1 AND "labels"."title" = $2 ORDER BY "labels"."title" ASC LIMIT 1 [["project_id", 8], ["t

我有一个作用域(其中
title
是一个数组)

默认情况下,这将执行
查询。我如何让它执行
查询?我似乎找不到任何这样的例子

我相信这就是生成的SQL:

Label Load (0.1ms)  SELECT  "labels".* FROM "labels" WHERE "labels"."project_id" = $1 AND "labels"."title" = $2  ORDER BY "labels"."title" ASC LIMIT 1  [["project_id", 8], ["title", "label1,label2,label3"]]

Rails/ActiveRecord仅支持
查询。在早期版本中,您需要使用SQL字符串来实现
查询:

Widget.where(“name=?或name=?”、“foo”、“bar”)#postgres

当存在多种可能性时,同样的事情可以通过
IN
查询更高效地完成,该查询是在ActiveRecord中通过将包含多个元素的数组传递给
#方法生成的,其中
方法:

arr = ["foo", "bar", "baz"]
Widget.where(name: arr)
至于您发布的SQL输出:

Label Load (0.1ms)  SELECT  "labels".* FROM "labels" WHERE "labels"."project_id" = $1 AND "labels"."title" = $2  ORDER BY "labels"."title" ASC LIMIT 1  [["project_id", 8], ["title", "label1,label2,label3"]]

这里的
来自这样一个事实,即正在对
产品id
以及
标题
进行查询,而不是因为与
标题
有任何关系

Rails/ActiveRecord仅支持
查询。在早期版本中,您需要使用SQL字符串来实现
查询:

Widget.where(“name=?或name=?”、“foo”、“bar”)#postgres

当存在多种可能性时,同样的事情可以通过
IN
查询更高效地完成,该查询是在ActiveRecord中通过将包含多个元素的数组传递给
#方法生成的,其中
方法:

arr = ["foo", "bar", "baz"]
Widget.where(name: arr)
至于您发布的SQL输出:

Label Load (0.1ms)  SELECT  "labels".* FROM "labels" WHERE "labels"."project_id" = $1 AND "labels"."title" = $2  ORDER BY "labels"."title" ASC LIMIT 1  [["project_id", 8], ["title", "label1,label2,label3"]]

这里的
来自这样一个事实,即正在对
产品id
以及
标题
进行查询,而不是因为与
标题
有任何关系

你在使用什么数据库?Postgres使用这样的数组不会导致
查询,而是
中,将数组中的值放在括号中可以发布其中一个查询的SQL输出吗?如上所述,postgres在使用array@sixty4bit我已经发布了我的发现谢谢,我已经提出了一个答案,但我不认为它涵盖了这里发生的一切。你能把作用域所属的模型和生成SQL的代码发布到上面吗?@sixty4bit这是一个更大的项目的一部分。我不知道sql是如何获得输出的。该范围属于名为
问题
的模型。您使用的是什么数据库?Postgres使用这样的数组不会导致
查询,而是
中,将数组中的值放在括号中可以发布其中一个查询的SQL输出吗?如上所述,postgres在使用array@sixty4bit我已经发布了我的发现谢谢,我已经提出了一个答案,但我不认为它涵盖了这里发生的一切。你能把作用域所属的模型和生成SQL的代码发布到上面吗?@sixty4bit这是一个更大的项目的一部分。我不知道sql是如何获得输出的。该范围属于名为
问题
的模型。