我需要获取的记录不在:通过条件。
我有3张桌子:
class A < ActiveRecord::Base
has_many :B_A
has_many :B, through: :B_A
end
class B < ActiveRecord::Base
has_many :B_A
has_many :A, through: :B_A
end
class BA < ActiveRecord::Base
belongs_to :A
belongs_to :B
end
我通过listOfA = B.A
将所有A链接到特定B,但我还需要将所有A链接到任何B.不管怎样我怎么办?
答案 0 :(得分:0)
好的,我有两个条件要放入我的连接查询。 我的MySql是:
select a.`id`, a.`label`
from `A` a
left join `BA` ba
on a.`id` = ba.`a`
where a.`uid`='userId'
and ba.`a` is null
我的activeRecord现在是:
A.select(['A.id', :label])
.joins('left outer join B_A on B_A.a_id = A.id')
.where({ user_id: current_user.id, "B_A.a_id" => nil })
我的所有A都不在BA