2

次のケースがあります: UserGroup と User (多対多の関係) の 2 つのモデルがあります。ユーザーの個別のリストを作成する必要があります。

私が持っているもの: UserGroups の ID のセットと、Users の ID のセット。

私が欲しいもの:私が持っているものに基づいた、ユーザーの個別のリストのセット。

関係ケース

この図は、私が UserGroup ID を持っていることだけを示しているだけなので、少し誤解を招きやすいですが、Users の ID もいくつか持っています。

これを Ruby on Rails でエレガントな方法で行うにはどうすればよいでしょうか?

ありがとう。

4

1 に答える 1

3

それがあなたを助けることを願っています

user_groups = UserGroup.includes(:users).where('query for your selected user_groups records')
distinct_users = user_groups.collect{|ug|ug.users.collect(&:id)}.flatten.uniq

これにより、選択した user_groups に対してのみ個別のユーザーを取得できます

于 2012-09-30T20:25:55.470 に答える