我的应用程序中有以下具有用户结构的简单组:
class Account < ActiveRecord::Base
has_many :account_membership
end
class Group < ActiveRecord::Base
has_many :account_membership
end
class AccountMembership < ActiveRecord::Base
belongs_to :account
belongs_to :group
end
我现在有了一个帐户列表,并希望获得包含所有这些帐户的组(并且只有那些帐户)。
有什么方法可以用ActiveRecord
查询来完成它,或者我必须用SQL做它?
答案 0 :(得分:2)
@accounts_list = Account.all # for example
Group.joins(:account_membership).where(account_membership: {account_id: @accounts_list.pluck(:id)})