在同一实体类型中添加实体的ArrayCollection

时间:2017-05-12 12:32:26

标签: symfony doctrine symfony-2.8

是否可以在实体A中保留实体A的数组?如何用Doctrine做到这一点?

我有:

class A {
   /**
     * @var \Doctrine\Common\Collections\ArrayCollection
     */
    private $sisters;
}

但我不知道要添加什么让Doctrine做我需要的东西。

1 个答案:

答案 0 :(得分:2)

A可以有很多姐妹,许多姐妹可以成为A的姐妹(多对多,自我引用):

/**
 * @ORM\Entity()
 * @ORM\Table()
 */
class A
{
    /**
     * @var integer
     *
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    protected $id;

    /**
     * @var \Doctrine\Common\Collections\ArrayCollection
     * @ORM\ManyToMany(targetEntity="AppBundle\Entity\A")
     */
    private $sisters;
}

http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/association-mapping.html#many-to-many-self-referencing