Как добавить сущность при помощи select 2 choices?
Подскажите пожалуйста, возможно ли сделать так: при вводе в поле строки, которая не соответствует ниодной сущности, сущность с таким "именем" создавалась и записывалась в БД.
а что вам мешает, получить эту строку в контроллёре и самому создать эту сущность?
Например получаем $city = $form->get('city')->getData(); проверить есть ли такой город и создать его, если нету? DataTransformer нужен для преобразования одного формата отображения в другой, в качестве записи сущности его не стоит использовать.
Не соглашусь. Возьмем классический пример создания поля для тегов: в форме это строка со списком слов/выражений, разделенных запятыми. В базе каждый тег это запись в таблице тегов + запись в таблице, связывающая тег с нужной сущностью. Примерная последовательность действий:
1) Создаем новый форм тайп поля тегов, наследуемся от text или hidden (если, например, хотим юзать библиотеку для автокомплита по типу select2)
2) Создаем трансформер из строки в теги и обратно. Первый пример, что мне нашел гугл: https://github.com/c2is/BigfootCoreBundle/blob/mas...
3) В форм тайп тега в buildForm добавляем наш трансформер. Пример из того же проекта из гугла: https://github.com/c2is/BigfootCoreBundle/blob/mas...