I have configured two connections to the database. One connection is called user and other is called client. This is the configuration in the config.yml file:
doctrine:
    dbal:
        default_connection: client
        connections:
            client:
                driver: pdo_mysql
                host: '%client_database_host%'
                port: '%client_database_port%'
                dbname: '%client_database_name%'
                user: '%client_database_user%'
                password: '%client_database_password%'
                charset: UTF8
                mapping_types:
                    enum: string
            user:
                driver: pdo_mysql
                host: '%user_database_host%'
                port: '%user_database_port%'
                dbname: '%user_database_name%'
                user: '%user_database_user%'
                password: '%user_database_password%'
                charset: UTF8
                mapping_types:
                    enum: string
    orm:
        auto_generate_proxy_classes: '%kernel.debug%'
        default_entity_manager: ~
        entity_managers:
            client:
                naming_strategy: doctrine.orm.naming_strategy.underscore
                mappings:
                    ProjectModelBundle: ~
                connection: client
            user:
                naming_strategy: doctrine.orm.naming_strategy.underscore
                mappings:
                    BaseModelBundle: ~
                    ProjectModelBundle: ~
                connection: user
But I am always getting the first entity manager no matter what. This is how I am using entity manager's in services:
# BASE
    htec.project_model_bundle.repository.database.client_base:
        class: Project\BaseModelBundle\Repository\Database\DatabaseRepository
        arguments: ['@service_container', '@doctrine.orm.client_entity_manager', '@form.factory']
    htec.project_model_bundle.repository.database.user_base:
        class: Project\BaseModelBundle\Repository\Database\DatabaseRepository
        arguments: ['@service_container', '@doctrine.orm.user_entity_manager', '@form.factory']
But no matter what I do, I always get the first entity manager that I have defined under orm->entity_managers settings. For example if configure orm like this:
orm:
        auto_generate_proxy_classes: '%kernel.debug%'
        default_entity_manager: ~
        entity_managers:
            client:
                naming_strategy: doctrine.orm.naming_strategy.underscore
                mappings:
                    ProjectModelBundle: ~
                connection: client
            user:
                naming_strategy: doctrine.orm.naming_strategy.underscore
                mappings:
                    BaseModelBundle: ~
                    ProjectModelBundle: ~
                connection: user
I will always get the client entity manager even if I supply '@doctrine.orm.user_entity_manager' as service argument.
If I configure orm like this:
orm:
        auto_generate_proxy_classes: '%kernel.debug%'
        default_entity_manager: ~
        entity_managers:
            user:
                naming_strategy: doctrine.orm.naming_strategy.underscore
                mappings:
                    BaseModelBundle: ~
                    ProjectModelBundle: ~
                connection: user
            client:
                naming_strategy: doctrine.orm.naming_strategy.underscore
                mappings:
                    ProjectModelBundle: ~
                connection: client
I will always get the user entity manager even if I supply '@doctrine.orm.client_entity_manager' as service argument.
What am I doing wrong here?
 
     
    