首页 > 解决方案 > 同一实体上的一对一映射删除问题 Symfony

问题描述

我有一个实体 Product 可以链接到相同类型的另一个产品(所以从 Product 到 Product 的一对一映射)。

当我尝试从数据库中删除产品时会出现问题,因为它具有外键。

执行“DELETE FROM product WHERE id = ?”时发生异常 带参数 [“25”]:SQLSTATE [23000]:完整性约束违规:1451 无法删除或更新父行:外键约束失败(acme. product, CONSTRAINT FK_BAD80AF68031A592FOREIGN KEY ( linked_to_id) REFERENCES product( id))

这就是我定义关系的方式

/**
 * @ORM\OneToOne(targetEntity="App\Entity\Product", cascade={"persist", "remove"})
 * @ORM\JoinColumn(name="linked_to_id", referencedColumnName="id", nullable=true, onDelete="SET NULL")
 */
private $linkedTo;

有什么想法可以设置关系以避免此 FK 删除问题吗?

标签: symfonydoctrine-ormone-to-one

解决方案


推荐阅读