原则 2 - 如何删除一个相关实体并设置为空其他实体



我的数据库中有以下实体:

class Product
{
    // ...
    /**
     * @OneToMany(targetEntity="Feature", mappedBy="product")
     **/
    private $features;
    // ...
}
class Feature
{
    // ...
    /**
     * @ManyToOne(targetEntity="Product", inversedBy="features")
     * @JoinColumn(name="product_id", referencedColumnName="id")
     **/
    private $product;
    // ...
}

在我的数据库中,我有一个产品实体,并与之相关的许多功能。这是示例,但由于某些原因,我需要删除产品实体,同时在分配给已删除对象的功能实体中设置为 NULL 字段"product_id"。

可以只调用$this->getDoctrine()->getManager()->remove($product)

编辑实体映射:

class Feature
{
    /**
     * @ManyToOne(targetEntity="Product", inversedBy="features")
     * @JoinColumn(name="product_id", referencedColumnName="id", onDelete="set null")
     **/
    private $product;
}

现在,更新您的架构

相关内容

  • 没有找到相关文章

最新更新