Symfony2 和 Doctrine:一对多关系
Posted
技术标签:
【中文标题】Symfony2 和 Doctrine:一对多关系【英文标题】:Symfony2 and Doctrine: One to Many relationship 【发布时间】:2012-08-23 19:12:20 【问题描述】:我正在用 Symfony2 和 Doctrine 编写应用程序。以下是所有可能需要的代码:
https://gist.github.com/3440325
此代码块工作正常并正确创建关系:
$twitter->setUser($user);
$skype->setUser($user);
正常工作意味着它会在 users 表中创建一行,并在 handles 表中插入正确的用户 ID。
这个代码块没有按预期工作:
$user->addHandle($skype);
$user->addHandle($twitter);
它成功插入了所有条目,但无法在句柄表中插入正确的用户 ID。事实上,user_id 列仍然是空的。
这里出了什么问题?我错过了什么吗?我的期望是不正确的还是在某些地方存在一些错误?
-- 玛斯农
【问题讨论】:
【参考方案1】:由于是双向的一对多关系,需要同步设置双方的引用实体。
public function addHandle(\WeCodephp\HomeBundle\Entity\Handle $handles)
$this->handles[] = $handles;
$handles->setUser($this);
否则教义不会猜测句柄属于什么。
【讨论】:
以上是关于Symfony2 和 Doctrine:一对多关系的主要内容,如果未能解决你的问题,请参考以下文章
Symfony2 - 具有一对一关系的 Doctrine Save 实体
使用 Doctrine 和 Symfony2 查询多对多关系