Symfony3: внедрить несколько @ doctrine.orm.entity_manager в сервис - PullRequest
0 голосов
/ 21 октября 2018

Я работаю с несколькими подключениями

Вот мой 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 менеджера сущностей подключений в сервис.

В моем service.yml я могу просто вставить один entity_manager с именем "@ doctrine.orm.entity_manager".Это менеджер по умолчанию

@doctrine.orm.entity_manager argument
    zip_command:
        class: BackEndBundle\Command\ZipCommand
        arguments:
            - '@doctrine.orm.entity_manager'
        tags:
            -  { name: console.command }         

Как внедрить другую связь?

1 Ответ

0 голосов
/ 22 октября 2018

Опция 1

В соответствии с документацией, вы должны иметь возможность вводить свои собственные менеджеры сущностей через doctrine.orm.{entity_manager_name_here}_entity_manager псевдоним.Вы можете найти имя своих менеджеров сущностей в doctrine.orm.entity_managers в config.yml.

Вариант 2

Если вы хотите иметь доступ ко всем вашим менеджерам сущностей в вашем сервисе, вы можете ввестиDoctrine\Common\Persistence\ManagerRegistry напрямую и используйте getManager(s) методы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...