symfony - Symfony2 中的 getEntityManager() 和 getDoctrine()

标签 symfony doctrine-orm

这两种说法有什么区别吗:

$this->getDoctrine()->getEntityManager()->getRepository();

$this->getDoctrine()->getRepository();

差异是否与我遗漏的任何 OOP 概念有关?

最佳答案

一般来说,没有区别,因为

$this->getDoctrine()->getRepository();

只是一个 helper

$this->getDoctrine()->getEntityManager()->getRepository();

您可以有多个实体管理器,然后从一个实体管理器获取存储库会略有不同:

$this->getDoctrine()->getRepository($entityName, $enityManagerName);
$this->getDoctrine()->getEntityManager($entityManagerName)->getRepository($entityName);

但同样,您得到的结果没有区别。

在所有其他条件相同的情况下,我会选择最短的。

关于symfony - Symfony2 中的 getEntityManager() 和 getDoctrine(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8316006/

相关文章:

mysql - DQL innerJoin 查询等效项

php - Symfony2 Doctrine 查询 - 日期时间添加

symfony - 如何覆盖/扩展 Symfony2 中的默认 Doctrine EntityManager 类?

php - Sonata Admin Bundle 不适用于多对多实体关系

php - 如何使用 Doctrine 刷新一个实体而不刷新另一个实体?

rest - FOSRestBundle Camel 键规范化器不起作用

mysql - 第 1064 章

symfony - 我应该在 bool 学说字段上添加断言验证吗?

php - 如何设置外键 ID #sf2 #doctrine2

testing - Symfony2测试数据库生产环境