似乎没有关于如何使用Sonata Media Bundle以编程方式删除图像的文档。
我发现another post说你需要在媒体经理上拨打delete
。
这是我的映射:
/**
* @var Application\Sonata\MediaBundle\Entity\Media
*
* @ORM\ManyToOne(targetEntity="Application\Sonata\MediaBundle\Entity\Media", cascade={"persist", "remove"}, fetch="LAZY")
* @ORM\JoinColumn(name="image_id", referencedColumnName="id", onDelete="SET NULL")
*/
protected $image;
这是我用来删除的代码:
$this->mediaManager = $this->getContainer()->get('sonata.media.manager.media');
$previousMedia = $myEntity->getImage();
$provider = $this->getContainer()->get($previousMedia->getProviderName());
$provider->removeThumbnails($previousMedia);
$this->mediaManager->delete($previousMedia);
正确删除关联(实体image
字段现在为null
)但在我的图库中,对象仍然存在,如下所示:
我做错了什么?
感谢。