有3个表连接在一起,根据传递的参数,可能存在可能存在或不存在的条件
A.joins(b :: c).where(a:{id:1},b:{id:2},c:{id:4})
A.joins(b :: c).where(a:{id:1})
在where条件中可以有任何组合。我怎样才能在我的代码中实现它?
答案 0 :(得分: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 ...