我有2个具有ManyToOne关系的实体。当我删除一个孩子时,我只想在没有其他孩子绑定到父母的情况下删除父母。
但我不明白该怎么做。如果我进行级联删除,我遇到了一个约束错误,因为当我删除一个孩子但是它有其他孩子时,Doctrine会尝试删除父。使用orphanRemoval是不可能的,因为孩子们在很多方面,如果我把它放在一边它不起作用(我从不直接删除父母)。
答案 0 :(得分:0)
如果您在删除孩子之前取回父母,然后在删除孩子后检查父母的剩余子女,以及是否还没有删除父母,该怎么办?
$parent = $child->getParent();
//remove $child
if(count($parent->getChildren())==0){
//delete $parent
}