区域:
namespace Acme'RegionBundle'Entity;
class Region
{
private $id;
/**
* @ORM'OneToMany(targetEntity="User")
* @ORM'JoinColumn(name="region_id", referencedColumnName="id")
*/
private $users;
}
用户:
namespace Acme'UserBundle'Entity;
class User
{
private $id;
private $region_id;
}
如何在不提及完全指定的实体路径的情况下关联来自不同捆绑包的实体,即硬编码依赖关系。
有什么更好的方法吗?
可以将解析目标实体侦听器作为解决方案。我不明白它怎么能在这里应用?
解析目标实体侦听器允许您在运行时重新定义关联。它基本上允许您映射如下内容:
@ORM'OneToMany(targetEntity="My'Namespace'UserInterface")
正如您所看到的,将接口映射为目标实体没有多大意义。当您告诉每个My'Namespace'UserInterface
都必须替换为Other'Namespace'User
引用时,它会变得非常有用。