Symfony2:三元关系

时间:2016-03-15 19:46:29

标签: symfony doctrine-orm

我尝试使用复合主键(3个主键)创建三元关系:

所以我有这些实体:Club($ id),Sport($ id)和PlayerSingle($ id)

如何与学说建立三元关系?

我尝试创建此实体(Club__Sport__Player_Single),但在phpmyadmin中,只有id属性和这3个主键。

 /**
 * Club__Sport__Player_Single
 *
 * @ORM\Table(name="club__sport__player_single")
 *     @ORM\Entity(repositoryClass="Club__Sport__Player_Single_danseRepository")
 */
 class Club__Sport__Player_Single
 {

     /**
     * @var int
     * 
     * @ORM\Id
     * @ORM\ManyToOne(targetEntity="Club")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="id", referencedColumnName="id")
     * })
     * @ORM\GeneratedValue(strategy="AUTO")
     */
     private $club_id;

     /**
     * @var int
     * 
     * @ORM\ManyToOne(targetEntity="Sport")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="id", referencedColumnName="id")
     * })
     * @ORM\GeneratedValue(strategy="AUTO")
     */
     private $sport_id;

    /**
    * @var int
    * 
    * @ORM\ManyToOne(targetEntity="PlayerSingle")
    * @ORM\JoinColumns({
    *   @ORM\JoinColumn(name="id", referencedColumnName="id")
    * })
    * @ORM\GeneratedValue(strategy="AUTO")
    */
    private $playerSingle_id;
...
}

为什么在phpmyadmin中,我只有id属性和3个属性(club_id,sport_id,playerSingle_id)??

1 个答案:

答案 0 :(得分:1)

我的建议是,为主键使用标准的自动生成的id,并且还包括具有组合的唯一索引的三个外键。它看起来更好,并具有相同的结果。

希望这对你有所帮助。