3

我有三个模型UserTeamMembership。在 Membership 模型中,a 有一个字段 role,它存储当前团队的用户角色。

当一个团队有很多用户并且我列出他们并显示团队的用户角色时,我的查询计数当然会爆炸。

有没有办法加载所有 Team 用户并包含 Membership 模型中的角色列?

User
has_many :memberships, dependent: :destroy
has_many :teams,       through: :memberships 

Team
has_many :memberships, dependent: :destroy
has_many :users,       through:   :memberships

Membership
belongs_to :user
belongs_to :team
4

1 回答 1

5

我相信这会奏效

team = Team.first #for example
users = team.users.select("*, memberships.role AS role")

所以每个用户都会得到角色

users.first.role
于 2012-08-31T09:06:05.130 回答