【发布时间】:2018-02-23 14:49:13
【问题描述】:
这与使用 Symfony 2.2.1 和原则 2.3.3 编写的遗留项目有关。
我需要在 EntityRepository 类之一中访问 DIC @service。
我是否能够通过一些事件监听器或其他方式将该服务或容器注入其中?
我不想将它注入到 Entity 中,而是要注入到特定的 EntityRepository 中。
【问题讨论】:
-
2.2?哎呀!你使用的是什么版本的教义?较新的版本有一个 RepositoryFactory 可以被覆盖和调整以将其他服务注入您的存储库。所以检查一下 vendor/doctrine/orm 看看你是否有这个类。
-
Yo' 这是一个非常传统的项目,很快就会被弃用:-)。所以我真的不是在寻找干净的解决方案。老实说,这是退役项目的一部分。说明已更新。
-
很公平,假设您可以从容器中提取 repo,@Mocrates 的答案将起作用。否则,您最好的选择可能是简单地访问全局 $kernel->getContainer() 方法。
-
谢谢@Cerad,在你写到这里之前,我在调试器中找到了它...
标签: symfony doctrine-orm symfony-2.2