Symfony 4 - Как встроить форму с несколькими объектами?

Я новичок в Symfony 4, и мне нужно создать форму с несколькими сущностями.

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

У меня есть отношение ManyToMany. Каждый тег может присутствовать в нескольких вопросах, и каждый вопрос имеет несколько тегов.

Чтобы перевести это отношение, я создал Hashtag entity с (на данный момент) этой структурой:

  • question_id
  • tag_id

Мой Вопрос имеет следующие свойства:

  • заглавие
  • тело

А в моем 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 вы всегда создаете новый объект тега. вы должны использовать EntityType и настроить его для создания несуществующих тегов.

Borja Pombo 02.11.2018 09:41

КСТАТИ. CollectionType необходимо добавить пользовательский HTML и jQuery для обеспечения видимого интерфейса. symfony.com/doc/current/reference/forms/types/…

Borja Pombo 02.11.2018 09:44
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
2
65
0

Другие вопросы по теме