2013-09-16 53 views
0

我在我的应用程序与用户结构下面的简单组:查询和管理许多在轨许多关系

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?

回答

2
@accounts_list = Account.all # for example 
Group.joins(:account_membership).where(account_membership: {account_id: @accounts_list.pluck(:id)}) 
+0

它应该是where子句中的'account_memberships'。谢谢!工作真的很棒。 – shem