symfony - 如何从 Controller 内部使用 Symfony 2.1 获取 Doctrine 实体的实体管理器

标签 symfony controller doctrine-orm

如何从具有最新 Symfony 和 Doctrine 的 Controller 内部获取实体管理器?

“本书”中描述的方式现已标记为已弃用。什么是现代(正确)的方法来做到这一点?

public function someAction()
{
    // getEntityManager() from Doctrine\Bundle\DoctrineBundle\Registry is deprecated
    $entityManager = $this->getDoctrine()->getEntityManager();
    ...
}

最佳答案

改用$this->getDoctrine()->getManager()

实际上,最好不要让 Controller 知道您正在使用的持久层。这些东西应该移到Service Layer抽象数据持久化的方式。

关于symfony - 如何从 Controller 内部使用 Symfony 2.1 获取 Doctrine 实体的实体管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12764182/

相关文章:

javascript - FOS JS 路由包仅为本地主机生成路由

symfony - Symfony 中的数组集合

php - Symfony Doctrine EntityManager 没有正确刷新

ruby-on-rails - rails : Show action in controller is unable to access foreign key value

mysql - Doctrine2 指定长度的整数类型

php - 执行“ALTER TABLE”时发生异常

php - 通过路由参数过滤和学说查询获取并显示正确的数据

php - Codeigniter 2 index 和 __construct 之间的区别以及在 __construct 中放置的内容

JavaFx ComboBox valueProperty().addListener(new ChangeListener<String>() 逐步重复

php - Symfony/Doctrine 2 ManyToOne关系,ORM不保留列的设置值,发生错误