まず、構成ファイルで接続を宣言します ( config.ymlで問題ありません)。
doctrine:
dbal:
default_connection: pressbox # change it as you wish
connections:
pressbox:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: pressbox
user: pressbox_usr
password: pressbox_pwd
charset: UTF8
fnt:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: fnt
user: fnt_usr
password: fnt_pwd
charset: UTF8
次に、エンティティ マネージャーを宣言します。
doctrine:
orm:
default_entity_manager: pressbox
entity_managers:
pressbox:
connection: web
fnt:
connection: fnt
これで、コントローラーで、Doctrine に名前を渡すことで、どのエンティティーマネージャーを使用するかを伝えることができますgetEntityManager()
:
$fntEm = $this->getDoctrine()->getEntityManager('fnt');
fntテーブルのエンティティ マネージャが同じ名前であると仮定します。