繁体   English   中英

Doctrine & Symfony3 OneToOne 关系,反面不存在

[英]Doctrine & Symfony3 OneToOne relations, inverse side does not exist

我正在寻找有关 Doctrine 2 中关系如何工作的明确解释。我已经尝试了几天在 Symfony3 中建立 OneToOne 关系,并且基本上阅读了每个线程和所有文档,但我根本不明白. 在过去的几个小时里,我一直在强行进入一对一关系,但没有运气。 这是我正在处理的问题:

我的用户实体有一个团队(它本身就是一个实体)

/**
* @ORM\OneToOne(targetEntity="Gluckez\bballBundle\Entity\Team", 
mappedBy="Owner")
* @ORM\Column(name="team_id")
*/
private $team;

我的团队有一个所有者,指的是用户:

/**
 * @var User $Owner  
 * @ORM\OneToOne(targetEntity="Application\Sonata\UserBundle\Entity\User", 
inversedBy="team_id")
 * @ORM\JoinColumn(name="Owner_id", referencedColumnName="id")
 */
protected $Owner;

现在在我的用户表中,我可以看到指向正确团队的关系。 但是学说抱怨反面 User#team,它不存在(即使我很确定我已经定义了它?)我已经无数次尝试更改 inversedby、mappedby、name、referencedcolumnName 以及删除并重新创建数据库和表。 更新教义模式。 我没主意了。 那里没有一个答案,也没有教义文件指出我正确的方向。 我意识到在这方面有很多线索,但没有一个是清楚的,甚至没有答案。

像这样尝试:

所有者实体

/**
* @ORM\OneToOne(targetEntity="Gluckez\bballBundle\Entity\Team", mappedBy="owner")
*/
private $team;

团队实体

/**
 * @ORM\OneToOne(targetEntity="Application\Sonata\UserBundle\Entity\User", inversedBy="team")
 */
protected $owner;

作为参考: 关联映射

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM