AND ではなく OR を使用してスコープクエリを連鎖させるにはどうすればよいでしょうか? 質問する

AND ではなく OR を使用してスコープクエリを連鎖させるにはどうすればよいでしょうか? 質問する

Rails3、ActiveRecordを使用しています

AND ではなく OR ステートメントを使用してスコープを連鎖するにはどうすればよいのか知りたいだけです。

例えば

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

通常、次の結果が返されます:

name = 'John' AND lastname = 'Smith'

しかし、私は次のことを望みます:

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

ベストアンサー1

あなたはそうするだろう

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

現時点では、新しい AR3 構文による他の OR サポートはありません (つまり、サードパーティの gem を使用していない場合)。

おすすめ記事