ruby-on-rails - 多对多不同查询

标签 ruby-on-rails ruby-on-rails-3

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

我拥有:一组用户组的 id 和一组用户的 id。

我想要什么:根据我所拥有的一组不同的用户列表。

Relation case

这个插图有点误导,因为它只显示我有 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/

相关文章:

ruby-on-rails - SSL_connect returned=1 errno=0 state=SSLv3 读取服务器证书 B : certificate verify failed

ruby-on-rails - 与 ActiveSupport 的时间比较失败

ruby-on-rails - Postgres 无法连接到 Unix 域套接字 5432 上的服务器

ruby-on-rails-3 - 防止在 Rails 3.2.2 上为 RESTful api 创建 session

ruby-on-rails - Memcache 在 Rails 3 中的基本使用

ruby-on-rails - send_file返回值

ruby-on-rails - 在 Prawn 中使用列表

ruby-on-rails - 简单形式: how to set values of a collection

ruby - ElasticSearch/Searchkick - LIKE 查询

ruby-on-rails - 正在尝试安装 libv8, "failed to build gem native extension"