в Symfony мы можем получить доступ ко многим-многим отношениям с помощью функций-получателей, которые возвращают объекты типа ArrayCollection.
например, чтобы получить учеников Алекса, мы можем позвонить $alex->getStudens()
, тогда у меня есть доступ к объекту студий Эля.
Теперь мой вопрос, как я могу получить доступ к идентификаторам студентов Алекса в массиве, например, позвонив $alex->getStudentsIds()
он возвращает {1,5,7,12, ..}, которые являются идентификаторами его учеников.
именно так, как вы это написали, вы добавляете еще одну функцию в сущности
public function getStudentsIds()
{
$students = $this->students;
$studentIds = [];
foreach($students as $student)
{
$studentIds[] = $student->getId();
}
return $studentIds;
}
Идеальным решением было бы добавить такой метод в репозиторий и сделать так, чтобы он запрашивал только идентификаторы учеников для данного объекта, но это самое простое возможное решение.
Других решений пока нет …