我试图计算每个联系人有多少子联系人。
Class Contacts
has_many :subcontacts, class_name: "Contact",foreign_key: "supercontact_id"
belongs_to :supercontact, class_name:"Contact"
这是到目前为止我所拥有的 activerecord 部分,这大致就是我想要做的。
Contact.joins{subcontacts.outer}.select(subcontacts.count as subcontact_count)
我认为问题在于连接部分正在寻找关联名称,而选择部分正在寻找表名。问题是表名是同一个表...最好的方法是什么,以便它保持关系或使用 SQL,以便我们可以最小化查询的数量,使其不是 N+1问题?