0
我試圖設置我的symfony使用兩個數據庫連接。問題是Symfony不會將實體映射到正確的EntityManager。所以執行一個查詢,我必須告訴Symfony它應該使用哪個管理器。在Doctrine中映射多個數據庫
我的配置:
# 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');
相反,我希望我可以離開了第二個參數。這樣,我的捆綁將是獨立的。項目經理可以決定他將在他的項目中執行的數據庫配置。他只需確保映射是正確的。
這是如何工作的?如果這是不可能的,那麼用於什麼映射?
開始通過重命名你的第二個連接「mvibes」而不是「查找」 – AlterPHP
對不起,是的,我編輯了一下我的配置,使我的配置更具通用性。我有一個「mvibes」連接。 – rolandow
編輯您的問題,使其更具可讀性,並幫助我們幫助您;) – AlterPHP