如何在不再引用时安全地删除实体

时间:2016-11-07 10:58:36

标签: doctrine-orm doctrine-mapping

我有以下实体方案:enter image description here

class PhyVarSelection
{
    /**
     * @ORM\ManyToOne(
     *     targetEntity="PhyVar",
     *     cascade={"persist"})
     *
     * @ORM\JoinColumn(
     *     name="phy_var_sel",
     *     referencedColumnName="id",
     *     nullable=false)
     */
    protected $phyVar;

    ...
}


class PhyVar extends Variable
{
  //no inverse reference

}
多个PhyVar可以引用

PhyVarSelection。当我删除特定的PhyVarSelection时,如果没有其他PhyVar引用该PhyVarSelection,我想删除PhyVar

oncascade={"persist", "remove"}上的{p> PhyVarSelection会尝试删除它,即使其他选择仍在引用它。根据{{​​3}},oprhanRemoval=true不是正确的答案,但我可能会误解它。

手动检查是实现此目的的唯一方法吗?

0 个答案:

没有答案