我想要做
Model.where('id = ?', [array of values])
如何在不将OR语句链接在一起的情况下完成此查找?
Answers:
从这里看来,它是使用SQLin
语句完成的:
Model.where('id IN (?)', [array of values])
或更简单地说,正如kdeisz指出的那样(使用Arel创建SQL查询):
Model.where(id: [array of values])
Model.where(id: [array of values])
1..8
它已经像数组一样。
为了提高可读性,可以将其进一步简化为:
Model.find_by(id: [array of values])
这等效于使用where
,但更加明确:
Model.where(id: [array of values])
find_by
实际上是where().take
。Model.find_by(id: [1, 2, 3])
只会回来Model(id: 1)
find_by_id([1, 2, 3])
如果您要查找蒙古语中的查询,那是一个Model.where(:field.in => ["value1", "value2"] ).all.to_a