我有几个模型:company,employee_profile,employee,employee_reviewers
公司有很多employee_profiles,employee_profile有一个员工,一个员工有一个employee_profile,一个员工有很多employee_reviewers
鉴于公司ID,我想了解employee_reviewers的总数/计数。如果不循环遍历每个employee_profile / employee,是否有一种简单的方法可以查询此计数?
谢谢!
答案 0 :(得分:1)
不应该是:公司有多个员工,员工有一个Employee_Profile,Employee_Profile属于员工,员工有多个Employee_Reviewer?
每个Employee_Reviewer是否属于Employee,或Employee_Reviewer是否有很多员工?如果它是belongsTo,在Employee模型中设置counterCache Employee_Reviewer_count,那么你可以将条件与Employee.company_id = $ some_company_id相加。
如果它有很多,你有一个HABTM,这不是一个简单的计数,因为审阅者可以与几个员工联系。一种方法是查找(列出)公司的所有员工ID,然后在HABTM表上找到(list,fields =>('reviewer_id','employee_id'))(我设置2个这样的字段以获得不同的reviewer_id值)。然后只计算($ result)