CakePHP легкий подсчет связанных записей - PullRequest
0 голосов
/ 15 августа 2011

У меня есть несколько моделей: company, employee_profile, employee, employee_reviewers

в компании много сотрудников employee_profile, у employee_profile есть один сотрудник, у сотрудника есть один employee_profile, а у сотрудника есть несколько employee_reviewers

Учитывая идентификатор компании, я хочу узнать, как общее число / количество employee_reviewers. Без циклического прохождения каждого employee_profile / employee есть простой способ запросить это количество?

Спасибо!

1 Ответ

1 голос
/ 15 августа 2011

не должно быть: в компании есть много сотрудников, у сотрудника есть один сотрудник, профиль, сотрудник принадлежит профилю сотрудника, у сотрудника много сотрудников, рецензент?

Принадлежит ли каждый Employee_Reviewer к Сотруднику, или Employee_Reviewer имеетМного Сотрудника? Если он принадлежит To, установите counterCache Employee_Reviewer_count в модели Employee, тогда вы можете суммировать это с условием Employee.company_id = $ some_company_id.

Если это hasMany, у вас есть HABTM, это не просто считать, потому что рецензент может быть связан с несколькими сотрудниками. Одним из способов является поиск (список) всех идентификаторов сотрудников компании, а затем поиск (list, fields => ('reviewer_id', 'employee_id')) в таблице HABTM (я установил 2 таких поля, чтобы получить разные значения reviewer_id ). А потом просто посчитай ($ результат)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...