Silex中的多个数据库提供程序

时间:2016-05-25 13:33:53

标签: doctrine silex

我是这个框架的新手。默认情况下,应用程序使用CouchBaseServiceProvider

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

但是现在,需要连接postgreSQL数据库并更新其中的一些记录,但我不知道如何使用第二个数据库提供程序。所以我注册了第二个提供商:

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

任何人都可以解释如何在控制器或模型中使用postgreSQL数据库,而默认使用CouchBaseServiceProvider

1 个答案:

答案 0 :(得分:3)

我想问题是两个提供商都使用相同的db服务名称?

通过检查源代码,我发现default db service只是dbs.default的别名。所以我认为您可以通过名称see line 76直接访问您想要的连接,如:

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

这与Using multiple databases下的文档中显示的基本相同。