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

https://gist.github.com/3440325

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

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

正常工作意味着它在用户表中创建一行并在句柄表中插入正确的用户 ID。

因为,此代码块无法按预期工作:
$user->addHandle($skype);
$user->addHandle($twitter);

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

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

——马斯农

最佳答案

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

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

否则 Doctrine 不会猜测句柄属于什么。

关于php - Symfony2 和 Doctrine : One to Many relationship,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12098490/

10-12 04:07