次のようなエンティティが 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');
ファイルをアップロードしていないときに、次のエラーが表示されます。
このフォームに余分なフィールドを含めないでください。
パラメータは「ファイル」です
私を夢中にさせている...