10

Railsで複数条件のテーブルを検索したい。Active record と rails バージョン 3.1.0 を使用しています。

私は映画オブジェクトを持っており、レールで次のものと同等のものを達成したいと考えています:

Select * from Movies where rating = 'R' OR rating = 'PG'

次のことを試しましたが、うまくいきません

@filtered = Movies.find(:all, :conditions => { :rating => 'R', :rating => 'PG' })

上記の SQL クエリに相当するものを作成するためのヘルプを提供してください。

4

4 に答える 4

13

1 つの方法は、次のように "IN" 条件を作成することです。

 @filtered = Movie.where(:rating => ['R', 'PG']).all

編集: クラスを「映画」から「映画」に変更しました。それがあなたが望むものだと思います。

于 2012-08-06T14:07:05.613 に答える
5

私はそれがあるだろうと思います

Movie.where("rating = ? OR rating = ?", 'R', 'PG')

詳細については、ガイドをご覧ください: http://guides.rubyonrails.org/active_record_querying.html#conditions

IN代わりにステートメントを使用することをお勧めします。

于 2012-08-06T14:06:27.237 に答える
5

次を使用して実行できます。

Movie.where(:rating => ['R','PG'])
于 2012-08-06T14:07:51.917 に答える