Symfony2和Doctrine有多个ManyToMany关系

时间:2014-07-23 12:06:14

标签: php symfony doctrine-orm

我有一个包含三个主要元素的模型:问题,答案和游戏。他们每个人都有关联的标签,但这些标签需要共享。我的意思是,相同的标签应该用于三种元素:"科学"标签应该应用于问题,答案或游戏,或者其中的三个。

我该怎么做?我是否在Tags实体中为每种元素添加了ManyToMany字段,还是有其他方法来关联它们?有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我会选择选项1)在每个实体上添加ManyToMany关系。

class Question
{
    // ... 

    /**
     * @ORM\ManyToMany(targetEntity="Tag")
     *
     **/
    private $tags;
}

class Answer
{
    // ...

    /**
     * @ORM\ManyToMany(targetEntity="Tag")
     *
     **/
    private $tags;
}

class Game
{
    // ...

    /**
     * @ORM\ManyToMany(targetEntity="Tag")
     *
     **/
    private $tags;
}