1

我有一个这样的实体:

class Image
{

/**
 * Identifier
 *
 * @var int
 *
 * @ORM\Id
 * @ORM\Column(type="integer")
 * @ORM\GeneratedValue(strategy="IDENTITY")
 */
protected $id;

/**
 * Image path
 *
 * @var string
 *
 * @ORM\Column(type="string")
 */
protected $path;

/**
 * Image file
 *
 * @var \Symfony\Component\HttpFoundation\File\UploadedFile
 *
 * @Assert\File(maxSize="6000000")
 */
protected $file;

//GETTERS AND SETTERS
}

和其他实体例如:

class User {
  protected $id;

/**
 * Avatar image
 *
 * @var Image
 *
 * @ORM\OneToOne(targetEntity="Vendor\MediaBundle\Entity\Image", cascade={"persist"})
 */
protected $avatar;
//GETTERS AND SETTERS
}

我的构建器用户表单类型如下所示:

$builder
        ->add('avatar', new ImageType(), array(
            'required' => false,

        ));

ImageType 看起来像这样:

$builder
        ->add('file', 'file', array('required' => false))
        ->add('order', 'hidden');

当我不上传任何文件时,我收到此错误:

此表单不应包含额外字段。

参数是“文件”

快把我逼疯了……

4

1 回答 1

0

如果您使用的是 Symfony2.3,则此提交中存在错误。

修复已在一小时前提交。

使用 composer 更新 symfony:

./compser.phar update symfony/symfony

希望这可以帮助

于 2013-07-26T12:45:59.837 回答