我的问题是,当我删除孩子时,我的父实体不会被删除。我有 Comment 实体和两个继承实体 ArtComment 和 PostComment 。每个都与 Art 或 Post 实体相关联。当我删除发布实体级联删除时,会自动删除我的数据库中的 PostComment ,但注释不会被删除。
注释:
/**
* Comment
* @ORM\Entity
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorColumn(name="discr", type="string")
* @ORM\DiscriminatorMap({"comment" = "Comment", "art_comment" = "ArtComment", "post_comment" = "PostComment"})
*/
class Comment
{
}
PostComment:
/**
* @ORM\Entity()
*/
class PostComment extends Comment {
/**
* @ORM\ManyToOne(targetEntity="Post", inversedBy="comments", cascade={"remove"})
* @ORM\JoinColumn(name="parent_id", referencedColumnName="id", onDelete="CASCADE")
*/
private $parent;
}
我试图通过创建触发器来处理它,该触发器在删除 ArtComment 并删除 Comment 后运行,但此解决方案无效。