Symfony - 属于同一实体

Symfony - belongsTo in same entity

我想在来自同一个 table 的两个实体字段之间建立直接关系。

我的想法是添加我的实体 manager_id,它将指向用户 table 中的另一个用户(我尝试使用 OneToOne。

当用户调用操作时,user_id 将消息发送给谁,例如

$user->getManager()->getId();

错误日志显示:

未找到字段 ID 的映射。

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

   /**
    * @ORM\OneToOne(targetEntity="App\Entity\User", 
      mappedBy="id")
    */
   private $manager;

创建这种关系的简单方法是使用无向关系类型。它的代码如下所示:

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

    /**
     * @var User
     *
     * @ORM\ManyToOne(targetEntity="App\Entity\User")
     */
     private $manager;
}

现在你可以做:

/** @var User $user */
$managerId = $user->getManager()->getId();

希望对您有所帮助。

PS。我添加了一些@var 文档块用于提示。