【发布时间】:2018-05-15 14:49:59
【问题描述】:
我在 SQL 中使用以下查询在我的模型的多个字段中查找相同的值,但希望以更正确的 Activerecord 方式进行。
MyModel.where("'some_value' in (a_field, another_field)").first.try(:id)
以下不起作用,因为它是 AND,我需要 OR
MyModel.where(a_field: 'some_value', another_field: 'some_value').first.try(:id)
有什么建议吗?
出于好奇:如果我使用第一个(有效)并使用puts 或p 查看结果,我会看到两次结果吗?我想知道为什么..
在这个例子中编辑我只使用了两个字段,但实际上可能有更多这样一个或不可行且不干
【问题讨论】:
-
“我需要一个 OR” - 这里是:
or -
@lacostenycoder 问题不在于 or ,而是针对更好的 activerecord 方式,如果有多个字段或者不好
标签: ruby-on-rails ruby activerecord