3

User、 、Teamおよびの 3 つのモデルを取得し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 に答える