Symfony学说自我参照

Symfony学说自我参照,symfony,doctrine,Symfony,Doctrine,实体中是否可以有自引用字段?像这样: class Dir { /** * @ORM\Id * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") */ protected $id; /** * @ORM\Column(type="integer") */ protected $parent; // reference to other Dir

实体中是否可以有自引用字段?像这样:

class Dir
{
   /**
    * @ORM\Id
    * @ORM\Column(type="integer")
    * @ORM\GeneratedValue(strategy="AUTO")
    */
   protected $id;

   /**
    * @ORM\Column(type="integer")
    */
   protected $parent; // reference to other Dir
}

普通联想和自我参照之间没有区别

以下措施可能有效:

class Dir
{
   /**
    * @ORM\Id
    * @ORM\Column(type="integer")
    * @ORM\GeneratedValue(strategy="AUTO")
    */
   private $id;

   /**
    * @ORM\ManyToOne(targetEntity="Dir")
    */
   private $parent;
}
阅读
条令
中有关关联的更多信息


此外,如果您不打算从实体继承,则应使用私有属性。

公共关联和自引用之间没有区别

以下措施可能有效:

class Dir
{
   /**
    * @ORM\Id
    * @ORM\Column(type="integer")
    * @ORM\GeneratedValue(strategy="AUTO")
    */
   private $id;

   /**
    * @ORM\ManyToOne(targetEntity="Dir")
    */
   private $parent;
}
阅读
条令
中有关关联的更多信息

此外,如果您不打算从您的实体继承,您应该使用
私有
属性。

在条令的文档中查看这一点。在条令的文档中查看这一点。