2011-10-07 59 views
4

當我設置一個ManytoOne映射時,兩個類都在相同的命名空間中,它可以工作。如何在Doctrine2 targetEntity映射中使用不同的名稱空間類

但如果這兩個類在不同的命名空間,它將無法正常工作?

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

回答

8

您必須使用目標實體的絕對命名空間 - 記下其名稱中的前導退格。

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

對於大家有沒有發現,請注意學說文檔現在指定省略斜線:http://docs.doctrine-project.org/en/latest/reference/annotations-reference.html#manytoone – UFTimmy

相關問題