CakePHP易于计数相关条目

时间:2011-08-14 23:58:23

标签: cakephp

我有几个模型:company,employee_profile,employee,employee_reviewers

公司有很多employee_profiles,employee_profile有一个员工,一个员工有一个employee_profile,一个员工有很多employee_reviewers

鉴于公司ID,我想了解employee_reviewers的总数/计数。如果不循环遍历每个employee_profile / employee,是否有一种简单的方法可以查询此计数?

谢谢!

1 个答案:

答案 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)