Uploadable 拡張機能を使用していますが、とても満足しています。Uploadable (写真) として 1 つのフィールドを持つエンティティがあり、別のフィールドはその写真の注釈 (注釈) です。最初にエンティティを作成するときに、ファイルを選択して注釈を付けるとすべて正常に機能しますが、注釈だけを更新すると、以前にアップロードされた写真の保存されたパスが失われます。そのフィールドにnullが来る場合、古い値を保持する方法はありますか?
これが私のエンティティです。
/**
* Photo
*
* @ORM\Table()
* @ORM\Entity
* @Gedmo\Uploadable(
* path="up/photo",
* allowOverwrite=false,
* appendNumber=true,
* allowedTypes="image/jpeg,image/pjpeg,image/png,image/x-png"
* )
*/
class Photo
{
/**
* @var array
*
* @Gedmo\Translatable
* @ORM\Column(name="annotation", type="string", length=255, nullable=true)
*/
private $annotation;
/**
* @var string
*
* @Gedmo\UploadableFilePath
* @Assert\File(
* mimeTypes={"image/jpeg", "image/pjpeg", "image/png", "image/x-png"}
* )
* @ORM\Column(name="photo", type="string", length=255)
*/
private $photo;
そして、これは私のコントローラー部分です:
if ($entity->getPhoto()) {
$uploadableManager = $this->get('stof_doctrine_extensions.uploadable.manager');
$uploadableManager->markEntityToUpload($entity, $entity->getPhoto());
}