象征主义:一对多关系


Symfony2 and Doctrine: One to Many relationship

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

https://gist.github.com/3440325

此代码块运行良好,并正确创建关系:

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

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

在哪里,这个代码块没有按预期工作:

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

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

这里出了什么问题?我是不是错过了什么?是我的期望不正确,还是哪里有漏洞?

--Masnun

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

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

否则,条令不会猜测句柄属于什么。