Doctrine orm 如何在Doctrine2 targetEntity映射中使用不同的命名空间类

Doctrine orm 如何在Doctrine2 targetEntity映射中使用不同的命名空间类,doctrine-orm,Doctrine Orm,当我设置一个manytone映射时,当两个类都在同一个命名空间中时,它就工作了 但是如果这两个类位于不同的名称空间中,它就不起作用了 /** * @ORM\ManyToOne(targetEntity="OP\ProjectBundle\Entity\Project", inversedBy="tickets") * @ORM\JoinColumn(name="project_id", referencedColumnName="id") */ protected $project; 您

当我设置一个manytone映射时,当两个类都在同一个命名空间中时,它就工作了

但是如果这两个类位于不同的名称空间中,它就不起作用了

/**
 * @ORM\ManyToOne(targetEntity="OP\ProjectBundle\Entity\Project", inversedBy="tickets")
 * @ORM\JoinColumn(name="project_id", referencedColumnName="id")
 */
protected $project;

您必须使用目标实体的绝对名称空间-注意其名称中的前导退格

/**
 * @ORM\ManyToOne(targetEntity="\OP\ProjectBundle\Entity\Project", inversedBy="tickets")
 * @ORM\JoinColumn(name="project_id", referencedColumnName="id")
 */
protected $project;

对于发现此问题的任何其他人,请注意,docs现在指定省略前导斜杠: