使用EntityEnabler的Symfony依赖项注入

使用EntityEnabler的Symfony依赖项注入,symfony,dependency-injection,doctrine-orm,Symfony,Dependency Injection,Doctrine Orm,我不得不打电话给服务中的控制员。以这种方式,我创建了connstuct函数并添加了参数EntityEnabler class UsersController extends Controller { private $em; public function __construct(EntityManager $em) { $this->em = $em; } 并为该控制器定义了服务 services: user_controller:

我不得不打电话给服务中的控制员。以这种方式,我创建了connstuct函数并添加了参数EntityEnabler

class UsersController extends Controller
{
    private $em;

    public function __construct(EntityManager $em) {
        $this->em = $em;
    }
并为该控制器定义了服务

services:
  user_controller:
    class: AppBundle\Controller\UsersController
    arguments:
      ['@doctrine.orm.entity_manager']
当我呼叫那个服务时

$usersContainer = $this->get('user_controller');
在其他控制器中,一切正常

但当我调用self-controller时,我会出错

Catchable Fatal Error: 
Argument 1 passed to AppBundle\Controller\UsersController::__construct()
must be an instance of Doctrine\ORM\EntityManager, none given,

我在哪里犯错误?

我只是在这个时候做一些难看的事情来解决问题

我删除了uu construc类,并将EntityManager作为所需参数添加到需要EntityManager类的函数中

 public function getLoggedUserData($loggedUserId, $entityManager)
    {
        $user               = $entityManager->getRepository('...')
        $newRequests        = $entityManager->getRepository('...')

如果控制器是一个简单类(不是扩展控制器),则只能将其定义为服务

见:

特别是:

清除缓存,然后重试。我试图清除缓存,但没有得到任何帮助:/因此,打开一个构建的容器文件,检查
userscoontroller
是如何准确实例化的它在路由文件中是如何定义的?@StevanTosic可能是服务文件尚未加载?