我有两个实体,第一个实体用于商品,第二个实体用于标签。 每个项目只能有一个标签,但是每个标签可以被多个项目使用。
现在我要删除标签(并从使用标签的项目中删除标签)。
当我尝试使用:
$em->remove($tag);
$em->flush();
我得到了错误:
SQLSTATE [23000]:违反完整性约束:1451无法删除或 更新父行:外键约束失败
我知道我必须在每个项目中删除使用它的标签,有没有简单的方法?
我当前的解决方案:
$itemList = $tag->getItems();
foreach($itemList as $item){
$tag->removeItem($item);
}
$em->remove($tag);
$em->flush();