У меня есть классы школ и студентов. Сущность «ученики» содержит свойство schoolId, указывающее, к какой школе принадлежит студент.
В классе репозитория Schools я хочу создать функцию, которая будет возвращать коллекцию объектов учеников, принадлежащих этой школе, поэтому я хочу иметь возможность вызывать эту функцию следующим образом:
$oSchool->getStudents();
Однако я не уверен, что наличие функции в хранилище - лучшее место, потому что до сих пор все примеры, с которыми я сталкивался, вызывают функцию из хранилища следующим образом:
$aStudents = $em->getRepository('\Entities\Schools')->getStudents();
Это не относится к текущему объекту школы. Я предполагаю, что мне нужно будет сослаться на текущий школьный объект в функции, я не уверен, как это сделать. В настоящее время моя функция в репозитории школ выглядит так:
public function getStudents()
{
// get instance of entity manager
$em = $this->getEntityManager();
// how do i specify the id of the school object that is calling this function?
$query = $em->createQuery('SELECT s FROM \Entities\Students WHERE s.SchoolId = ?');
$aStudents = $query->getResult();
return $aStudents;
}
Искренне ценю любую помощь.