Doctrine2 无法更新多对一双向关系中的拥有方

Doctrine2 Can't update owning side in a Many-to-one bidirectional relationship

我在实体 "Task" 和实体 "User" 之间有双向关联。

"Task"定义如下

class任务
{
    /**
     *
     * @ORM\ManyToOne(targetEntity="User", inversedBy="tasks")
     */
     私人用户;
}

而"User"定义为


class 用户
{
    /**
     * @ORM\OneToMany(targetEntity="Task", mappedBy="user")
     */
    私人 $tasks;<br>
}
</pre>

双向访问关系正常。问题是 "Task" 实体一经定义我就无法更新它。

这是一个测试用例


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

我做错了什么?

您需要像这样在刷新之前持久化任务对象:$em->persist($task); 然后您就可以刷新了。

阅读how to work with doctrine associations.