4
我是Symfony2的新手。我的問題很簡單。 我會在一個包中的不同主機和驅動程序中使用2個連接到數據庫。如何在Symfony2中使用Doctrine2創建2個連接(mysql和postgresql)
你能幫我解決嗎?
我是Symfony2的新手。我的問題很簡單。 我會在一個包中的不同主機和驅動程序中使用2個連接到數據庫。如何在Symfony2中使用Doctrine2創建2個連接(mysql和postgresql)
你能幫我解決嗎?
你可以這樣做:
doctrine:
dbal:
default_connection: alpha
connections:
alpha:
driver: pdo_mysql
host: localhost
dbname: alpha
user: root
charset: UTF8
beta:
driver: pdo_pgsql
host: localhost
dbname: beta
user: root
charset: UTF8
orm:
auto_generate_proxy_classes: %kernel.debug%
entity_managers:
alpha:
connection: alpha
beta:
connection: beta
你看,我們宣佈在dbal
節兩個連接,並在orm
一二實體管理器。
之後,您可以同時使用:
$emAlpha = $this->getDoctrine()->getEntityManager('alpha');
$emBeta = $this->getDoctrine()->getEntityManager('beta');
由於alpha
一個被定義爲默認的,您可以訪問它時沒有指定名稱:
$emAlpha = $this->getDoctrine()->getEntityManager();
謝謝!但是,如果我只在讀模式下使用某些數據庫,實體類中的setter方法是必須使用的? – Neka
需要我指定現有數據庫(處於只讀模式)的實體類中的字段類型? – Neka
是的,因爲學說需要這些信息來正確地爲你的實體提供水分...... – Herzult