我有两个模型 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/