2 つのデータベース接続を使用するように symfony をセットアップしようとしています。問題は、Symfony がエンティティを適切な EntityManager にマップしないことです。クエリを実行して、Symfony にどのマネージャーを使用するかを指示する必要があります。
私の設定:
# Doctrine Configuration
doctrine:
dbal:
default_connection: default
connections:
default:
driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
lookup:
driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "Lookup"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
orm:
auto_generate_proxy_classes: "%kernel.debug%"
default_entity_manager: default
entity_managers:
default:
connection: default
mappings:
MbMyAppBundle: ~
mvibes:
mappings:
MbLookupBundle: ~
connection: mvibes
したがって、ルックアップからクエリを実行するには、次のことを行う必要があります。$this->getDoctrine()->getRepository('MbLookupBundle:Country', 'lookup');
代わりに、2 番目のパラメーターを省略できることを望んでいました。このように、私のバンドルは独立しています。プロジェクト マネージャーは、プロジェクトに実装するデータベース構成を決定できます。マッピングが正しいことを確認するだけです。
これはどのように作動しますか?これが不可能な場合、マッピングは何に使用されますか?