Формы Symfony2 - фильтрация родительских объектов при добавлении дочернего объекта в отношении OneToMany - PullRequest
2 голосов
/ 26 января 2012

У меня есть две сущности - Категория и Статья с отношением OneToMany.

Когда я отрисовываю форму для добавления / редактирования объекта Article, я вижу все категории в HTML-выделении, но я хочу видеть только часть категорий (в будущем я также хотел бы добавлять категории динамически, в соответствии с различными условия).

Как переопределить запрос, автоматически выполненный Doctrine, который извлекает категории для их фильтрации?

Заранее спасибо, Николай

Ответы [ 2 ]

5 голосов
/ 26 января 2012

Передав параметр query_builder в поле вашей категории в вашем ArticleType, вы можете настроить запрос для извлечения элементов категории.

$form = $this->createFormBuilder()
->add('category', 'entity', array(
'class' => 'ArticleBundle:Category',
    'query_builder' => function(EntityRepository $er) {
        return $er->createQueryBuilder('c')
                      ->orderBy('c.name', 'ASC');
                      //add more query elements here
                     },)
  )
->getForm();

Подробнее здесь

1 голос
/ 26 января 2012

Это можно сделать, установив для параметра query_builder значение замыкания, которое принимает хранилище в качестве аргумента и возвращает построитель запросов.

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