Symfony2和Doctrine:一对多的关系

时间:2012-08-23 19:12:21

标签: php symfony doctrine doctrine-orm

我正在Symfony2和Doctrine中编写一个应用程序。以下是可能需要的所有代码:

https://gist.github.com/3440325

此代码块工作正常并正确创建关系:

        $twitter->setUser($user);
        $skype->setUser($user);

正确工作意味着它在users表中创建一行,并在handles表中插入正确的用户ID。

此处,此代码块无法按预期工作:

$user->addHandle($skype);
$user->addHandle($twitter);

它成功插入了所有条目,但无法在handle表中插入正确的用户ID。事实上,user_id列仍为空。

这里出了什么问题?我错过了什么吗?我的期望是不正确还是有些错误在某些地方?

- Masnun

1 个答案:

答案 0 :(得分:2)

由于您具有双向一对多关系,因此您需要同步设置两侧的引用实体。

public function addHandle(\WeCodePHP\HomeBundle\Entity\Handle $handles)
{
    $this->handles[] = $handles;
    $handles->setUser($this);
}

否则,学说不会猜出句柄属于什么。