如何定义两个Doctrine表之间的多个多对一关系?

时间:2014-06-06 22:27:49

标签: symfony doctrine-orm doctrine

当我尝试定义关系时,我遇到了Symfony的学说问题,表格Challenge和User之间的多对一得到了下一个错误。

我尝试定义时出错:

enter image description here

表User具有以下属性:id,challengeMaked,challengeReceived和表Challenge具有以下属性:id,idUser1,idUser2其中idUser1我想与来自User和idUser2的id关联我也希望与来自User的id关联。用户和挑战之间的关系是一对多(一个用户可以挑战另一个用户),用户挑战多对一(一个挑战仅由用户接收)

那么,我如何在我的实体中定义这个属性来修复我的bug。现在,在我的用户实体中,我已经定义了这些属性,如...

    /**
 * @var Challenge ArrayCollection
 * @ORM\OneToMany(targetEntity="\MQL\PlayerBundle\Entity\Challenge", mappedBy="idUser1", cascade={"persist"})
 */
protected $challengesMaked;

/**
 * @var Challenge ArrayCollection
 * @ORM\OneToMany(targetEntity="\MQL\PlayerBundle\Entity\Challenge", mappedBy="idUser2", cascade={"persist"})
 */    
protected $challengesReceived;

在我已定义的挑战实体中......

    /**
 * @var User ArrayCollection
 * @ORM\ManyToOne(targetEntity="\FOS\UserBundle\Entity\User", inversedBy="challengesMaked")
 **/    
protected $idUser1;                 //Challenger

/**
 * @var User ArrayCollection
 * @ORM\ManyToOne(targetEntity="\FOS\UserBundle\Entity\User", inversedBy="challengesReceived")
 **/    
protected $idUser2;     //Challenged

我做错了什么?

0 个答案:

没有答案