0

为了让它更快,我在实体上使用 Doctrine2。

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

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

$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()”以获取线索。

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

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

4

1 回答 1

1

cascade={"persist"}在用户中的联系人声明上解决了这个问题。结案。

于 2012-06-25T13:48:41.193 回答