MogLog

メモというか日記というか備忘録というか

Rails3のActiveRecordでOR検索をする

単純にwhereメソッドをメソッドチェインでつないでいくとAND検索になってしまう。

User.where(:owner_flg => true).where(:manager_flg => true)
→ SELECT `users`.* FROM `users` WHERE `users`.`owner_flg` = 1 AND `users`.`manager_flg` = 1;


ORを使って、条件のいずれかに合致するためには以下のように書く

User.where('owner_flg = ? or manager_flg = ?', true, true)


他にも方法はありそうだけど、とりあえず。