如何在Symfony2 Doctrine2中获得不同的DBAL连接

时间:2012-08-14 03:01:48

标签: php symfony doctrine-orm

我的config.yml文件中有两个连接

doctrine:
      dbal:
         default:
         connection2

然后在我班上,我用这个

$em = $this->container->get('doctrine')->getEntityManager();

但它正在获得默认连接。我如何使用第二个连接

我是否有可能在服务中使用它。

1 个答案:

答案 0 :(得分:3)

您必须在config.yml

中定义DBAL连接和实体管理器
doctrine:
    dbal:
        default_connection:   connection1
        connections:
            connection1:
                ...
            connection2:
                ...
    orm:
        default_entity_manager: em1
        entity_managers:
            em1:
                 connection: connection1
                 ....
            em2:
                 connection: connection2

不,你可以通过以下方式访问Entity mangager:

$em = $this->container->get('doctrine')->getEntityManager();
// Returns $em1/connection1

$em = $this->container->get('doctrine')->getEntityManager('em1');
// Returns $em1/connection1

$em = $this->container->get('doctrine')->getEntityManager('em2');
// Returns $em2/connection2