class Company < ActiveRecord::Base
has_many :users, dependent: :destroy
...
class User < ActiveRecord::Base
belongs_to :company
...
问题类似于这个:查找所有关联计数大于零的记录
如果我尝试与上述类似的解决方案:
Company.joins(:users).group("company.id").having("count(users.id)>5")
它给我一个错误:
PG::UndefinedTable: ERROR: missing FROM-clause entry for table "company"
LINE 1: ... "users"."company_id" = "companies"."id" GROUP BY company.id...
我尝试了几个不同的查询来获取结果,但是失败了。我可以使用SQL,但这似乎很愚蠢,因为使用ActiveRecord应该很容易实现。
感谢所有的回复 :)
includes(:users)
,而不是在查询语法中使用看起来很丑的LEFT JOIN
呢?这将为您创建一个LEFT JOIN
,并且看起来更加清晰。 - engineersmnky