我有以下情况:我有两个模型:UserGroup 和 User(具有多对多关系)。我最终需要得到一个不同的用户列表。
我拥有:一组用户组的 id 和一组用户的 id。
我想要什么:根据我所拥有的一组不同的用户列表。
这个插图有点误导,因为它只显示我有 UserGroup id,但我也有一些 Users id。
如何在 Ruby on Rails 中以优雅的方式完成此操作?
谢谢。
最佳答案
希望对你有帮助
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 获取不同的用户
关于ruby-on-rails - 多对多不同查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12664412/