Symfony - 在Doctrine EntityRepository中注入和访问DIC服务

时间:2018-02-23 14:49:14

标签: symfony doctrine-orm symfony-2.2

这与使用Symfony 2.2.1,doctrine 2.3.3编写的遗留项目相关。

我需要在EntityRepository个类之一访问DIC @service。

我能通过一些事件监听器或其他方式将此服务或容器注入其中吗?

我不想将它注入Entity,但特别是EntityRepository。

1 个答案:

答案 0 :(得分:2)

您可以尝试将Repo声明为服务并添加注册以注入其他服务

#services.yml
entity.repo :
   class: 'YourRepoNamespace'
   factory-service: 'doctrine.orm.default_entity_manager'
   factory-method: 'getRepository'
   arguments: ['YourEntityNamespace']
   calls:
     - ['setOtherService', ['@other_service']]