Доступ к соотношению «многие ко многим» в формате массива, symfony2

в Symfony мы можем получить доступ ко многим-многим отношениям с помощью функций-получателей, которые возвращают объекты типа ArrayCollection.
например, чтобы получить учеников Алекса, мы можем позвонить $alex->getStudens(), тогда у меня есть доступ к объекту студий Эля.

Теперь мой вопрос, как я могу получить доступ к идентификаторам студентов Алекса в массиве, например, позвонив $alex->getStudentsIds() он возвращает {1,5,7,12, ..}, которые являются идентификаторами его учеников.

0

Решение

именно так, как вы это написали, вы добавляете еще одну функцию в сущности

public function getStudentsIds()
{
$students = $this->students;
$studentIds = [];

foreach($students as $student)
{
$studentIds[] = $student->getId();
}

return $studentIds;
}

Идеальным решением было бы добавить такой метод в репозиторий и сделать так, чтобы он запрашивал только идентификаторы учеников для данного объекта, но это самое простое возможное решение.

0

Другие решения

Других решений пока нет …