Doctrine2不能以多对一的双向关系更新拥有方

时间:2015-02-23 21:30:26

标签: symfony doctrine-orm doctrine

我在实体“任务”和实体“用户”之间存在双向关联。

“任务”定义如下

class Task 
{
    /**
     *
     * @ORM\ManyToOne(targetEntity="User", inversedBy="tasks")
     */
     private user;
}

“用户”定义为


class User 
{
    /**
     * @ORM\OneToMany(targetEntity="Task", mappedBy="user")
     */
    private $tasks;
}

从两个方向访问关系都很好。问题是我无法在定义后更新“任务”实体。

这是一个测试用例


    $task->setStatus(new Status(2))
    $em->flush();

我做错了什么?

1 个答案:

答案 0 :(得分:3)

你需要在刷新之前保持任务对象,如下所示:$em->persist($task);然后你就可以冲洗了。

阅读how to work with doctrine associations.