不同捆绑中的实体之间的Doctrine关联映射或来自两个不同捆绑的实体关联?

vis*_*hal 4 php orm entity-relationship doctrine symfony

区域:

namespace Acme\RegionBundle\Entity;

class Region
{

    private $id;

    /**
     * @ORM\OneToMany(targetEntity="User")
     * @ORM\JoinColumn(name="region_id", referencedColumnName="id")
     */
    private $users;
}
Run Code Online (Sandbox Code Playgroud)

用户:

namespace Acme\UserBundle\Entity;

class User
{
    private $id;
    private $region_id;
}
Run Code Online (Sandbox Code Playgroud)

如何在不提及完全指定的实体路径即硬编码依赖性的情况下关联来自不同束的实体.

有没有更好的方法?

可以解决目标实体监听器是一种解决方案.我无法理解它是如何在这里应用的?

Ocr*_*ius 6

解析目标实体侦听器允许您在运行时重新定义关联.它允许您基本上映射如下内容:

@ORM\OneToMany(targetEntity="My\Namespace\UserInterface")
Run Code Online (Sandbox Code Playgroud)

如您所见,将接口映射为目标实体没有多大意义.当你告诉每个My\Namespace\UserInterface必须用Other\Namespace\User引用替换它时,它变得非常有用.