Doctrine2和持久性:级联错误

时间:2012-06-25 13:19:53

标签: symfony doctrine-orm

为了快速实现,我在实体上使用了Doctrine2。

我的一个实体User,通过1对1关系拥有联系人。

我同时创建它们,坚持“用户的孩子”(这里是他的联系人),然后继续坚持用户自己。我非常一般地这样做:

$em = $this->getDoctrine()
    ->getEntityManager();
$em->persist($object->getChildren()); //object->getChildren() is the Contact here
$em->persist($object); // $object is my User
$em->flush();

联系人的持久性曾经工作过一次(我真的不知道怎么回事或者为什么)但是从那以后我每次都坚持用户那样,它失败了,给我这个错误信息:

通过“Aurae \ UserBundle \ Entity \ User#contact”关系找到了一个新实体,该关系未配置为级联实体的持久操作:Aurae \ UserBundle \ Entity \ Contact @ 00000000554b2adc000000007fa05d30。 明确保留新实体或在关系上配置级联持久操作。如果您无法找出哪个实体导致问题实现'Aurae \ UserBundle \ Entity \ Contact #__ toString()'以获得线索。

我尝试在用户中声明级联持续存在,但它没有改变任何内容。

与用户保持联系的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

用户联系声明中的

cascade={"persist"}解决了问题。案件结案。