我使用Entity中的一个元素创建了表单:
$promo = new Promo();
$form = $this->createFormBuilder($promo)
->add('code', 'text')
->getForm();
我想添加文件元素(实体中不存在此字段)。当我这样做时:
$form = $this->createFormBuilder($promo)
->add('code', 'text')
->add('image', 'file')
->getForm();
我有一个错误:属性“image”和方法“getImage()”都没有。如何添加此字段?
答案 0 :(得分:67)
使用mapped:
$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();
在Symfony 2.3中删除了“property_path”
答案 1 :(得分:1)
使用property_path
选项:
$builder->add('image', 'file', [
'property_path' => false,
]);