我的数据库中有以下实体:
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;
}
现在,更新您的架构