作成するクエリは次のとおりです。
MyClass.where(
:name.in => [ 'John', 'Luke' ],
:status.in => [ 'ACTIVE', 'SUSPENDED' ]
)
:field.in
(...)のフィールドと同じように機能します SQLでは、これはorステートメントの短い形式にすぎません。
.in
を追加するだけなので、作業がかなり簡単になります。 基準
への呼び出し 値が配列であるキー、次のようなもの:
query = criteria.each_with_object({}) do |(field, values), query|
field = field.in if(values.is_a?(Array))
query[field] = values
end
MyClass.where(query)