2016-10-19 5 views
0

接合され、そこであることができる3つのテーブルが存在する場合、またはジョイン

A.joinsように渡されたパラメータに基づいて存在してもしなくてもよい条件(A:B:C) (a:{id:1}、a:{id:1}、b:{id:2}、c:{id:4})

where条件には任意の組み合わせを使用できます。これを私のコードにどのように実装できますか?

答えて

0

ロジックを書いて、独自のロジックに基づいてメソッドを条件付きで送信することができます。

my_thing = A.joins(b: :c) 
my_thing = my_thing.where(a:{id:1}) if ... 
my_thing = my_thing.where(b:{id:2}) if ... 
my_thing = my_thing.where(c:{id:3}) if ... 
+0

これでうまくいくはずですが、変数を使用してクエリを実行するにはどうすればよいですか? –

+0

従来は、#eachを使用して結果セットを繰り返し処理するか、#to_aを使用して結果を配列に変換することができました。それはあなたがデータで何をしたいかによって異なります –

+0

それは働いた。どうもありがとう –

関連する問題