我有以下情况:我有两个模型:UserGroup和User(具有多对多关系)。我需要最终得到一个独特的用户列表。
我拥有的:一组用户组ID,以及一组用户ID。
我想要的:一组不同的用户列表,基于我的内容。
Relation case http://i47.tinypic.com/261yo2o.png
插图有点误导,因为它只显示我有UserGroup ID,但我也有一些用户ID。
如何在Ruby on Rails中以优雅的方式完成这项工作?
感谢。
答案 0 :(得分:2)
希望它可以帮到你
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
获取不同的用户