Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to add additional non-entity fields to entity form in Symfony2

Tags:

php

symfony

I have created form with one element from Entity:

$promo = new Promo();  $form = $this->createFormBuilder($promo)         ->add('code', 'text')         ->getForm(); 

And I want to add file element (this field doesn't exist in the Entity). When I do:

$form = $this->createFormBuilder($promo)         ->add('code', 'text')         ->add('image', 'file')         ->getForm(); 

I have an error: Neither property "image" nor method "getImage()". How can I add this field?

like image 608
Alex Pliutau Avatar asked Sep 12 '12 08:09

Alex Pliutau


1 Answers

Use mapped:

$form = $this->createFormBuilder($promo)     ->add('code', 'text')     ->add('image', 'file', array(                 "mapped" => false,             ))     ->getForm(); 

In old Symfony versions (2.0 and earlier), use property_path:

$form = $this->createFormBuilder($promo)     ->add('code', 'text')     ->add('image', 'file', array(                 "property_path" => false,             ))     ->getForm(); 

"property_path" was removed in Symfony 2.3

like image 151
Carlos Granados Avatar answered Oct 17 '22 19:10

Carlos Granados