Как добавить дополнительные поля не-сущности в форму сущности в Symfony2
Я создал форму с одним элементом из Entity:
$promo = new Promo();
$form = $this->createFormBuilder($promo)
->add('code', 'text')
->getForm();
И я хочу добавить элемент файла (это поле не существует в Entity). Когда я это сделаю:
$form = $this->createFormBuilder($promo)
->add('code', 'text')
->add('image', 'file')
->getForm();
У меня есть ошибка: ни свойство "образ", ни метод "getImage()". Как добавить это поле?
Ответы
Ответ 1
Используйте сопоставленный:
$form = $this->createFormBuilder($promo)
->add('code', 'text')
->add('image', 'file', array(
"mapped" => false,
))
->getForm();
В старых версиях Symfony (2.0 и более ранних) используйте property_path:
$form = $this->createFormBuilder($promo)
->add('code', 'text')
->add('image', 'file', array(
"property_path" => false,
))
->getForm();
"property_path" был удален в Symfony 2.3
Ответ 2
Используйте параметр property_path
:
$builder->add('image', 'file', [
'property_path' => false,
]);