mysql - 根据关联对象的数量查询事件记录

标签 mysql ruby-on-rails activerecord ruby-on-rails-3.1

我有两个模型 Company 和 Role 分别由 has_many 和 belongs_to 关联关联。我需要找一家恰好有“n”个角色的公司。

我想到了

Company.joins(:roles).having("'count(roles.id) = ?', 3")

但这行不通。是否有针对此的事件记录解决方案?

谢谢。

最佳答案

协会 -

角色属于:公司

公司有_many :roles

因此,选择标准将是 -

Company.joins(:roles).group(:company_id).having('count(company_id)= ?', 3)

Company.joins(:roles).group(:company_id).having('count(*)= ?', 3)

关于mysql - 根据关联对象的数量查询事件记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9063015/

相关文章:

ruby-on-rails - 在after_save回调中返回false并回滚

mysql - 如何使这个 SQL 查询与 mysql 8 一起工作

php - 查询一个Mysql数据库的多个表

c++ - mysql 重新连接 C++

ruby-on-rails - 匿名设计问题 : "[17] is not a symbol"

ruby-on-rails - 如何使用回形针 gem 将图像上传到 S3

ruby-on-rails - 类 `arel_attributes_values' 的未定义方法 `ActiveRecord::Base'

mysql - Yii ActiveRecord 同时更新和插入失败但没有错误

php - 将 mysql where_in 查询更改为 codeigniter 事件记录

mysql - 自己加入 mysql 组