Symfony3:在服务中注入几个@ doctrine.orm.entity_manager
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Symfony3:在服务中注入几个@ doctrine.orm.entity_manager相关的知识,希望对你有一定的参考价值。
我和several connexion一起工作
这是我的config.yml:
doctrine:
dbal:
default_connection: connexion_1# specify the connexion used by default
connections:
connexion_1:
driver: "%database_driver1%"
....
connexion_2:
driver: "%database_driver2%"
...
我想在服务中注入2个connexion实体管理器。
在我的service.yml中,我可以注入一个名为“@ doctrine.orm.entity_manager”的entity_manager。这是默认管理器
@doctrine.orm.entity_manager argument
zip_command:
class: BackEndBundleCommandipCommand
arguments:
- '@doctrine.orm.entity_manager'
tags:
- { name: console.command }
如何注入其他连接?
答案
选项1
根据文档,您应该能够通过doctrine.orm.{entity_manager_name_here}_entity_manager
别名注入您的自定义实体管理器。您可以在config.yml中的doctrine.orm.entity_managers
下找到您的实体经理的姓名。
选项2
如果您想要访问服务中的所有实体经理,可以直接注入DoctrineCommonPersistenceManagerRegistry
并使用getManager(s)
方法。
以上是关于Symfony3:在服务中注入几个@ doctrine.orm.entity_manager的主要内容,如果未能解决你的问题,请参考以下文章
Symfony3 服务器返回“500 Internal Server Error”