Я создал форму с одним элементом из 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 ()». Как я могу добавить это поле?
В symfony 2.0 используйте свойство_path :
$form = $this->createFormBuilder($promo) ->add('code', 'text') ->add('image', 'file', array( "property_path" => false, )) ->getForm();
В symfony 2.1+ используйте сопоставленные :
$form = $this->createFormBuilder($promo) ->add('code', 'text') ->add('image', 'file', array( "mapped" => false, )) ->getForm();
Первый вариант по-прежнему доступен в версии 2.1, но он устарел и будет удален в 2.3
Используйте параметр property_path
:
$builder->add('image', 'file', [ 'property_path' => false, ]);