Всем привет, есть следующий кейс - имеется ентити Media из СонатаМедиаБандла и допустим ентити Foo, которое имеет поле $image и связь ManyToOne к Media. Дабы не прописывать все связи и в Media - связь однонаправленная, только со стороны Foo.
/**
* @ORM\ManyToOne(targetEntity="App\Application\Sonata\MediaBundle\Entity\Media")
* @ORM\JoinColumn(name="image_id", referencedColumnName="id", nullable=true)
*/
private $image;
Проблема - при удалении какого нибудь Media объекта через SonataAdmin, и заходе в раздел редактирования для Foo получаю
"Entity of type 'App\Application\Sonata\MediaBundle\Entity\Media' for IDs id(7) was not found"
, что вполне логично так как связь однонаправленная, а удаление не со стороны владельца.
Собственно вопрос, как быть, чтобы проделывать подобное и персистентность не нарушалась? Возможно ли как то это решить только аннотациями для Foo? Пока единственное рабочее решение которое нашел для себя - повесить ивент листенер на pre/postRemove для Media в который передать список всех ентити связанных с ней и руками обнулить связь, но почему то не покидает чувство что я запилил дикий костыль.