ограничить выбор типа tetranz / select2entity в Doctrine - PullRequest
0 голосов
/ 07 мая 2019

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

В текущей форме все теги находятся в одном поле: [! [Форма с одним тегом] [1]] [1]

$builder
            ->add('tags', Select2EntityType::class, [
                'multiple' => true,
                'remote_route' => 'tag_autocomplete',
                'class' => Tag::class,

Мне нужно одно поле для каждой категории, так что вместо перечисления всех тегов во всех категориях пользователь будет выбирать из более ограниченного набора тегов:

[! [введите описание изображения здесь] [2]] [2]

foreach ($tagCategories as $tagCategory) {
    $code = $tagCategory->getCode(); // e.g. topic, place
$builder
            ->add('tags_' . $code, Select2EntityType::class, [
                'multiple' => true,
                'remote_route' => 'tag_autocomplete',
                'remote_params' => ['tagCategoryCode' => $code],
                'class' => Tag::class,
}

Несколько проблем здесь.Нет поля 'tags_place'.Я попытался взломать «сопоставленный» со значением false и данные в отфильтрованной коллекции, но это быстро превратилось в беспорядок.

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



  [1]: https://i.stack.imgur.com/ia46J.png
  [2]: https://i.stack.imgur.com/7Udp1.png
...