У меня есть теги и 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