2017-01-08 30 views
0
in CalcResult entity 

    /** 
    * @ORM\ManyToOne(targetEntity="Acme\UserBundle\Entity\CalcResult",inversedBy="buySellResults",cascade={"persist"}) 
    * @ORM\JoinColumn(name="calcResult_id", referencedColumnName="id") 
    */ 
    private $calcResult; 


in BuySellResult entity 

     /** 
    * @ORM\OneToMany(targetEntity="Acme\UserBundle\Entity\BuySellResult",mappedBy="calcResult",cascade={"persist"}) 
    */ 
    private $buySellResults; 

CalcResult行有一些BuySellResult,这两个条目有像父子的关系。删除一个一对多的关系连接的所有亲子实体

我想删除所有的BuySellResult行与一个CalcResult行连接,当我删除一行CalcResult行。

然而,当我尝试删除CalcResult行,

发生此错误。 我该如何解决它?

我加了cascade={"persist"},但我不确定这是我实现目标的正确方法。

[3/4] ForeignKeyConstraintViolationException: An exception occurred while executing 'DELETE FROM CalcResult WHERE id = ?' with params [1004]: 

SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`wisdom`.`buysellresult`, CONSTRAINT `FK_C1A2F7B3CFB4BB7` FOREIGN KEY (`calcResult_id`) REFERENCES `CalcResult` (`id`)) + 
+0

呃......是有可能,你已经发布的代码不符合你的描述?什么是父母实体?孩子是什么?顺便说一句,你的'JoinColumn'是多余的,你可以完全忽略它。 – lxg

回答

相关问题