我是Symfony2的新手。我的问题很简单。 我会在不同的主机和驱动程序中使用2个连接到DB。
你能帮我解决这个问题吗?
答案 0 :(得分:8)
您可以执行以下操作:
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();