Я новичок в Symfony 4, и мне нужно создать форму с несколькими сущностями.
Цель состоит в том, чтобы иметь возможность задать вопрос и связать его с несколькими тегами.
У меня есть отношение ManyToMany. Каждый тег может присутствовать в нескольких вопросах, и каждый вопрос имеет несколько тегов.
Чтобы перевести это отношение, я создал Hashtag entity с (на данный момент) этой структурой:
Мой Вопрос имеет следующие свойства:
А в моем Tag entity есть только:
Конечно, с отношениями, у моего вопроса есть возможность получать, добавлять и удалять хэштеги.
Проблема в том, что я не понимаю, как мне получить свои теги. Мне удалось сделать это один раз, но с использованием Entitytype. Однако я не работал, когда отправил свою форму.
Но если я понимаю, у меня должен быть CollectionType. Я пробовал это в своем Форма QuestionType:
->add('hashtags', CollectionType::class, [
'label' => 'Choose tags',
'entry_type' => TagType::class,
'entry_options' => array('label' => false),
])
У меня 0 ошибок, но он просто показывает мне мой ярлык, больше ничего.
Чего не хватает ? Должен ли я также что-то изменить в моем шаблоне веточки?
{{ form_start(form, {'attr': {'novalidate': 'novalidate'}}) }}
{{ form_widget(form) }}
<button class = "btn">{{ button_label|default('Create') }}</button>
{{ form_end(form) }}
Спасибо за вашу помощь !!
КСТАТИ. CollectionType необходимо добавить пользовательский HTML и jQuery для обеспечения видимого интерфейса. symfony.com/doc/current/reference/forms/types/…






С
CollectionTypeвы всегда создаете новый объект тега. вы должны использоватьEntityTypeи настроить его для создания несуществующих тегов.