Orm 使用条令从数据库检索用户

Orm 使用条令从数据库检索用户,orm,doctrine,symfony,Orm,Doctrine,Symfony,这些命令之间有什么区别 $this->getDoctrine()->getRepository('AppBundle:User')->find($id) 我可以省略->getManager(),得到相同的“正确”结果。没有区别。这两种方法都使用由服务容器注入的存储库工厂的一个实例 如果您使用多个实体管理器(例如用于多个连接)来简化工作,那么为了简单起见,您可以使用$this->getdoctor()->getRepository('AppBundle:User')->find($id)。它将决定

这些命令之间有什么区别

$this->getDoctrine()->getRepository('AppBundle:User')->find($id)


我可以省略
->getManager()
,得到相同的“正确”结果。

没有区别。这两种方法都使用由服务容器注入的存储库工厂的一个实例

如果您使用多个实体管理器(例如用于多个连接)来简化工作,那么为了简单起见,您可以使用
$this->getdoctor()->getRepository('AppBundle:User')->find($id)
。它将决定正确的实体管理器本身


因此,我建议您始终使用way而不使用
->getManager()
,以避免在您有多个实体管理器的情况下混淆其他开发人员。

当然可以,但如果我使用“默认”连接,我可以省略getManager()?如果我们不使用
->getManager()
对象仍在管理吗?这意味着我必须显式地调用persist($obj)吗?
$this->getDoctrine()->getManager()->getRepository('AppBundle:User')->find($id);