Symfony 4-删除具有OneToMany关系的实体

时间:2019-08-15 00:32:29

标签: doctrine-orm doctrine entity symfony4

我有两个实体,第一个实体用于商品,第二个实体用于标签。 每个项目只能有一个标签,但是每个标签可以被多个项目使用。

现在我要删除标签(并从使用标签的项目中删除标签)。

当我尝试使用:

$em->remove($tag);
$em->flush();

我得到了错误:

  

SQLSTATE [23000]:违反完整性约束:1451无法删除或   更新父行:外键约束失败

我知道我必须在每个项目中删除使用它的标签,有没有简单的方法?

我当前的解决方案:

$itemList = $tag->getItems();
foreach($itemList as $item){
    $tag->removeItem($item);
}
$em->remove($tag);
$em->flush();

0 个答案:

没有答案