2

config.yml ファイルに 2 つの接続があります

doctrine:
      dbal:
         default:
         connection2

次に、私のクラスでは、これを使用します

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

ただし、デフォルトの接続を取得しています。2 番目の接続を使用するにはどうすればよいですか

サービスから利用できる可能性はありますか?

4

1 に答える 1

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

いいえ、次の方法でエンティティ マンガガーにアクセスできます。

$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
于 2012-08-14T07:29:12.097 に答える