How to get entity manager for Doctrine entity with

2019-03-22 14:56发布

问题:

How can I get an entity manager from inside a controller with latest Symfony and Doctrine?

The way described in "The Book" flagged as deprecated now. What is a modern (proper) way to do this?

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

回答1:

Use $this->getDoctrine()->getManager() instead.

Actually, it's best not to make controllers aware of the persistence layer you're using. That stuff should be moved to the Service Layer to abstract the way the data is persisted.