Использование Symfony2.3.4 и Doctrine.
У меня есть класс Student с отношением ManyToMany к классу Edition.
Теперь в моем StudentController у меня есть это IndexAction ($ edition_id), чтобы перечислить не всех студентов в БД, а только тех, которые связаны с данным идентификатором Edition.
$entities = $em->getRepository('PersonBundle:Student')->findBy(array(
????????
));
Я думаю о каких-то критериях для использования с $edition_id, но не могу их придумать.
Советы приветствуются, спасибо.
@dmnptr: я пытаюсь это сделать, я новичок в этом, так что скажите мне, если я сделал что-то не так.
Я поместил эту функцию, которую вы написали, в контроллер, и в методе IndexAction ($ edition) я добавил
$students = this->findAllByEdition($edition);
теперь проблема в том, что параметр $edition исходит из шаблона ветки, например:
<a href="{{ path('student', { 'edition': entity}) }}"</a>
будучи сущностью, которая владеет объектом Edition.
Но когда я делаю это так, этот сущность возвращает метод __toString(), что означает строку с названием издания, а не само издание, которое использует функция, которую вы мне дали.
Теперь, вы случайно не знаете способ получить сам объект из шаблона, а не метод __toString(), спасибо...
entity.id
вpath()
, а затем в своем контроллере получить нужную сущность, используя ее идентификатор. Кроме того,findAllByEdition
должен находиться в пользовательском репозитории, а не в контроллере. - person dmnptr   schedule 29.03.2014