2016-05-25 6 views
0

Я новичок в этой структуре. По умолчанию используется приложениями CouchBaseServiceProviderНесколько поставщиков баз данных в Silex

$app->register(
     new CouchBaseServiceProvider(), 
     array(
      'dbs.options' => $app['dbLogins'] 
     ) 
    ); 

Но теперь, есть необходимость подключения postgreSQL базы данных и обновить некоторые записи в нем, но я не знаю, как использовать второй поставщик базы данных. Так что я зарегистрирован второй поставщик:

$app->register(
    new DoctrineServiceProvider(), 
    array(
     'dbs.options' => $app['pgSQL'] 
    ) 
); 

Может кто-нибудь объяснить, как использовать postgreSQL базы данных в контроллере или модели, в то время как по умолчанию используется CouchBaseServiceProvider?

ответ

3

Я думаю, проблема в том, что оба провайдера используют одно и то же имя службы db?

Проверяя исходный код, я вижу, что default db service является просто псевдонимом dbs.default. Так что я думаю, что вы можете получить доступ к соединению вы хотите непосредственно своим именем see line 76 нравится:

$app['dbs']['my_other_connection'] 

Это в основном так же, как показано в документации под Using multiple databases.

 Смежные вопросы

  • Нет связанных вопросов^_^