是否可以通过注释在targetEntity中使用相对路径?

时间:2015-04-04 20:58:40

标签: php symfony doctrine-orm

我搜索了这些信息,但我得不到答案。我想要做的是用相对路径设置targetEntity,这可能吗?

以下是一个例子:

AppBundle
|
|-Entity
  |-User.php
  |-OAuth
    |-Client.php
    |-AccessToken.php

AccessToken.php

Class AccessToken
{
  /**
   * @ORM\ManyToOne(targetEntity="Client")
   */
  protected $client;

  /**
   * @ORM\ManyToOne(targetEntity="..\User")
   */
  protected $user;

targetEntity="Client"有效,因为它位于相同的命名空间中,但targetEntity="..\User"却没有。我知道targetEntity="AppBundle\Entity\User"有效,但我想使用相对路径。

感谢。

1 个答案:

答案 0 :(得分:1)

不,这是不可能的。

传入targetEntity的是命名空间,而不是路径。只有当两个实体位于同一名称空间(选项1)或传递完整名称空间(选项2)时,才能传递类名:

选项1:

targetEntity="Client"

选项2:

targetEntity="AppBundle\Entity\User"