这些命令有什么区别?
$this->getDoctrine()->getRepository('AppBundle:User')->find($id);
$this->getDoctrine()->getManager()->getRepository('AppBundle:User')->find($id);
我可以省略->getManager()
并且我有相同的"正确"结果
答案 0 :(得分:3)
没有区别。两种方式都使用由服务容器注入的一个存储库工厂实例。
如果您使用多个实体管理器(例如,多个连接)以简化生活,您可以使用$this->getDoctrine()->getRepository('AppBundle:User')->find($id)
来简化。它将确定正确的实体经理本身。
因此,如果您有多个实体经理,我建议您始终使用不带->getManager()
的方法来避免混淆其他开发人员。