2016-10-17 71 views

回答

1

Symfony使每個DBAL連接成爲DI容器中的單獨服務。默認的名稱始終稱爲database_connection,通常只是doctrine.dbal.admin_connection的別名。

然後,如果您有其他連接,它們會自動添加。比如我有defaultadmin連接,因此Symfony的創建:

doctrine.dbal.admin_connection 
doctrine.dbal.default_connection 

您可以使用app/console debug:container | grep "DBAL\\\\Connection"控制檯向所有註冊的連接傾倒。

+0

我已經向我解釋了錯誤。我在想,如果我可以在從另一臺服務器接收參數並獲得與默認相同的連接時創建新連接 – user26776

+1

您可以使用'set()'方法覆蓋服務' service_container'。請參閱https://github.com/symfony/dependency-injection/blob/3.1/Container.php#L162。然而,我不認爲這是一個好主意,因爲你不知道其他服務已經將該服務註冊爲依賴關係,並且它可能會意外崩潰。 – martin