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

Multiple database providers in Silex

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

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

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

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

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

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

通过检查源代码,我发现 default db service is just an alias to dbs.default. So I think you can access the connection you desire directly by its name see line 76 像:

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

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