Symfony4 CollectionType проблема с отношением ManyToMany - PullRequest
0 голосов
/ 06 ноября 2019

Контекст: У меня много трудностей с управлением отношением ManyToMany между объектами A и B. Я получил форму для объекта A с некоторыми полями ввода для A и CollectionType для добавления формы для объекта B,Форма B получает только одно поле: это вход выбора для выбора объекта B1 на основе его свойства name. У меня не возникает проблем с отображением формы A с 5 (например) включенными объектами B при выборе ввода в представлении «Редактирование» объекта A.

Моя проблема : например, впредставление Edit объекта A1, когда я изменяю некоторые значения формы выбора B с B1 на B2 или любое другое значение, затем отправляю форму A1 для редактирования, это хорошо, и объект A1 тоже кажется хорошим. Но затем, когда я перехожу к другому объекту A (например, A2) с другими объектами B, объединенными (в частности, с объектом B1), я вижу объект B2 вместо B1. И затем, после проверки в базе данных, я понял, что наконец изменил свойство name объекта B с B1 на B2, и теперь есть два объекта B с одинаковым именем.

ЧтоЯ уже пытался:

  • для проверки с помощью ChoiceType или EntityType в форме B
  • для проверки с помощью 'by_reference' => false в Aформа и / или форма B
  • для расчета 'choice_label' или 'choice_value' в форме B
  • для инициализации отношения ManyToMany с mappingBy / inversedByобе возможности на объектах A и B
  • , чтобы установить 'query_builder' и / или 'выборы'
  • ...
  • и, конечно, для поиска в Интернете в течение длительного времени

Я буду очень признателен за любую помощь! Thx

1 Ответ

0 голосов
/ 06 ноября 2019

Я наконец получил способ добиться успеха: просто нужно было поместить EntityType из collectionType непосредственно в A formType, без создания и использования B formType, включенного в A formType ...

...