我已经使用Doctrine2设置了 ZF2 Skeleton Application 。我的目标是创建具有简单层次结构的简单新闻服务。
Category -> News -> Media (file)
我已经为类别、新闻和媒体设置了所有必需的关系(即,如果新闻被删除,则所有相关媒体都将从数据库中删除)。
问题是媒体指向某个文件(位于文件存储中)。我实现了一个简单的功能,删除与新闻相关的所有媒体,然后删除新闻本身。
$news->deleteImg();
$this->getEntityManager()->remove($news);
$this->getEntityManager()->flush();
感觉这是错误的做法。
有没有办法将删除文件功能绑定到媒体实体,每次直接或通过其父母删除媒体时都会自动调用该功能?(即新闻或类别)