有没有一种简单的方法可以从 class 名称中恢复 Doctrine Entity Manager?
Is there a simple way to recover the Doctrine Entity Manager from a class name?
我有一个带有三个原则实体管理器的 Symfony 应用程序,所以我想知道是否有一个网络可以从 class 名称(例如 \Company\Bundle\Entity\Classname 相关实体管理器)中撤销。
到目前为止,我可以使用类似
的方式遍历元数据
$entities = array();
$em = $this->getDoctrine()->getManager('manager_name');
$meta = $em->getMetadataFactory()->getAllMetadata();
foreach ($meta as $m) {
// Compare classname with $m->getName() and return $em name
}
我正在寻找更"elegant"的方法。
Doctrine ManagerRegistry
有一个方法 getManagerForClass
。这就是我要找的。
我有一个带有三个原则实体管理器的 Symfony 应用程序,所以我想知道是否有一个网络可以从 class 名称(例如 \Company\Bundle\Entity\Classname 相关实体管理器)中撤销。
到目前为止,我可以使用类似
的方式遍历元数据$entities = array();
$em = $this->getDoctrine()->getManager('manager_name');
$meta = $em->getMetadataFactory()->getAllMetadata();
foreach ($meta as $m) {
// Compare classname with $m->getName() and return $em name
}
我正在寻找更"elegant"的方法。
Doctrine ManagerRegistry
有一个方法 getManagerForClass
。这就是我要找的。