2016-10-17 22 views
1

symfonyで動的に現在の接続を変更する方法はありますか?現在の接続を動的に変更する - symfony 3

ユーザーがアカウントにログインするときにデータベースを使用するかどうかだけを知るため、これを尋ねます。

ありがとうございます。

答えて

1

Symfonyは、各DBAL接続をDIコンテナ内の別個のサービスにします。デフォルトのものは常にdatabase_connectionと呼ばれ、通常はdoctrine.dbal.admin_connectionのエイリアスです。

他の接続がある場合は自動的に追加されます。たとえば、私はsymfonyそうdefaultadmin接続が作成されます:あなたはすべての登録済みの接続をダンプするコンソールでapp/console debug:container | grep "DBAL\\\\Connection"を使用することができます

doctrine.dbal.admin_connection 
doctrine.dbal.default_connection 

+0

私は間違って説明しました。別のサーバからパラメータを受け取り、デフォルトと同じ接続を取得したときに新しい接続を作成できるのだろうか。 – user26776

+1

'set()'メソッドを使用して、 service_container'。 https://github.com/symfony/dependency-injection/blob/3.1/Container.php#L162を参照してください。しかし、他のサービスがすでにそのサービスを依存関係として登録していて、それが突然どこかで破損している可能性があることを知ることができないため、これは良い考えではないと思います。 – martin

関連する問題