我的模型如下所示:
A
基本上tags
以两种不同的方式加入B
。
我希望运行一个内部加入其他表C
和A
到Other.joins(A: [:B, :C]).where('tags.id = 1')
的查询,并根据每个属性进行过滤。通常我会这样做:
tags
但{{1}}在这里含糊不清。有更好的方法吗?
我意识到这不是最干净的数据模型,但我们只是假装我从其他人那里继承了这个代码库:P
答案 0 :(得分:1)
怎么样
Other.joins('inner join a on a.id = other.a_id
inner join (Select ...) as b
inner join (Select ...) as c
where
b...
or
c...
')