Как создать поле формы массива пользовательского типа в Symfony 3? - PullRequest
0 голосов
/ 30 сентября 2018

У меня есть пользовательский тип формы AddressType Я хочу использовать этот тип внутри формы в виде массива, который я пробовал

$builder->add('addresses', CollectionType::class, [
'entry_type' => AddressType::class,]);

, но я не мог добавить поле в этот объект формы, и когда япробовал

$builder->add('addresses', AddressType::class, []); 

Я мог бы предоставить только один объект Address в форме, так как я могу иметь возможность разместить массив объекта AddressType, как этот

"addresses": [{
    "firstName" : "firstName",
    "lastName": "lastName",
    "street": "street",
    "city": "city",
    "postcode": 123,
    "countryCode": "code"
}]

1 Ответ

0 голосов
/ 30 сентября 2018

Первый подход, использующий CollectionType , был правильным - в основном это массив полей AddressType в соответствии с документацией .

Когда ваши сущности и типы форм правильно настроены, вы можете вручную добавить одно или несколько полей AddressType в поле сбора вашей формы (например, в контроллере) и затем отобразить элементы этого поля формыв ветке, используя для цикла.

Этот и немного более сложные и продвинутые подходы можно найти также в документации Symfony .Я бы посоветовал вам следовать приведенному там примеру, очень похоже на ваш проблемный случай.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...