我和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: BackEndBundle\Command\ZipCommand
arguments:
- '@doctrine.orm.entity_manager'
tags:
- { name: console.command }
如何注入其他连接?
根据文档,您应该能够通过doctrine.orm.{entity_manager_name_here}_entity_manager
别名注入您的自定义实体管理器。您可以在config.yml中的doctrine.orm.entity_managers
下找到您的实体经理的姓名。
如果您想要访问服务中的所有实体经理,可以直接注入Doctrine\Common\Persistence\ManagerRegistry
并使用getManager(s)
方法。