Symfony 为什么我的容器在我的控制器中为空?

Symfony 为什么我的容器在我的控制器中为空?,symfony,symfony-3.3,Symfony,Symfony 3.3,使用Symfony 3.3,我有一个控制器培训组织控制器: class TrainingOrganizationController extends Controller { @Route... public function deleteAction(Request $request, UserInterface $user, TrainingOrganization $organization) { ... $this->dele

使用Symfony 3.3,我有一个控制器
培训组织控制器

class TrainingOrganizationController extends Controller
{
    @Route...
    public function deleteAction(Request $request, UserInterface $user, TrainingOrganization $organization)
    {
        ...
        $this->delete($user, $organization);
        ...
    }

    public function delete(UserInterface $user, TrainingOrganization $organization)
    {
        $organization->setDeletedAt(new \DateTime());
        $organization->setDeletedBy($user);

        $entityManager = $this->getDoctrine()->getManager();

        $centers = $entityManager->getRepository(TrainingCenter::class)->getResults([
            'whereTrainingOrganizationId' => $organization->getId(),
        ]);

        foreach ($centers as $center) {
            $this->get(TrainingCenterController::class)->delete($user, $center);
        }
    }
}
此控制器调用其他控制器:
TrainingCenterController
delete()
函数:

class TrainingCenterController extends Controller
{
    public function delete(UserInterface $user, TrainingCenter $center)
    {
        $center->setDeletedAt(new \DateTime());
        $center->setDeletedBy($user);

        $entityManager = $this->getDoctrine()->getManager(); // ERROR
        ...
但是我在
delete
函数上有一个错误:“在null上调用成员函数get()。我不明白,因为我的控制器作为服务,我有默认配置:

AppBundle\Controller\:
    resource: '../../src/AppBundle/Controller'
    public: true
    tags: ['controller.service_arguments']

你能帮我吗?我想调用几个控制器进行级联删除(而不是重复代码):

您将控制器用作一个通用服务—最好使用常规服务—构造函数将一个条令实例注入其中,并通过
->get(name::class)从任何需要的地方调用该服务
或使用带有完整构造函数(TypeHint$serviceName)的全服务驱动控制器


当系统创建一个控制器并调用该操作(或
\u invoke()
it)时,发生的另一件事是
containerwaretrait
允许调用
setContainer()
,这在常规服务中不会发生。

对于级联删除?你在使用条令ORM吗?是的,但我不想在条令上使用删除级联。我只想呼叫几个控制器:)