Ответ 1
Вам нужно добавить еще один уровень конфигурации, а также использовать несколько менеджеров сущностей, поскольку Doctrine использует 1 диспетчер сущностей для подключения к базе данных. Ваша конфигурация может выглядеть примерно так:
doctrine:
dbal:
connections:
default:
driver: %database_driver% # <
host: %database_host% # |
port: %database_port% # | Defined in
dbname: %database_name% # | parameters.ini
user: %database_user% # |
password: %database_password% # <
another:
driver: %database2_driver% # <
host: %database2_host% # |
port: %database2_port% # | Defined in
dbname: %database2_name% # | parameters.ini
user: %database2_user% # |
password: %database2_password% # <
Затем вы определяете свои менеджеры нескольких сущностей как таковые
doctrine:
orm:
default_entity_manager: default
entity_managers:
default:
connection: default
mappings:
AcmeDemoBundle: ~
AcmeStoreBundle: ~
another:
connection: another
mappings:
AcmeCustomerBundle: ~
то в вашем действии вы можете использовать следующее, чтобы получить правильный менеджер сущностей:
$em = $this->get('doctrine')->getEntityManager('default');
$em = $this->get('doctrine')->getEntityManager('another');
в зависимости от того, какой менеджер объектов вам нужен