2

我有以下情况:我有两个模型:UserGroup 和 User(具有多对多关系)。我需要最终得到一个不同的用户列表。

我所拥有的:一组用户组 ID 和一组用户 ID。

我想要什么:一组不同的用户列表,基于我所拥有的。

关系案例

插图有点误导,因为它只显示我有用户组 ID,但我也有一些用户 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 回答