有没有一种简单的方法可以从 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。这就是我要找的。