如何在Symfony2中向实体表单添加其他非实体字段

Ale*_*tau 30 php symfony

我用Entity中的一个元素创建了表单:

$promo = new Promo();

$form = $this->createFormBuilder($promo)
        ->add('code', 'text')
        ->getForm();
Run Code Online (Sandbox Code Playgroud)

我想添加文件元素(实体中不存在此字段).当我做:

$form = $this->createFormBuilder($promo)
        ->add('code', 'text')
        ->add('image', 'file')
        ->getForm();
Run Code Online (Sandbox Code Playgroud)

我有一个错误:属性"image"和方法"getImage()"都没有.如何添加此字段?

Car*_*dos 71

使用映射:

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

在旧的Symfony版本(2.0及更早版本)中,使用property_path:

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

在Symfony 2.3中删除了"property_path"

  • 凉爽的。不知道“映射”选项。 (2认同)