【发布时间】:2016-09-09 23:04:19
【问题描述】:
在 Lumen 项目中,我需要在运行时创建数据库连接,但每次尝试使用最近创建的连接时,我都会收到“数据库 [...] 未配置”错误。
这是我在 routes.php 上的测试代码:
<?php
$app->get('/', function () use ($app) {
$config = $app->make('config');
$config->set('database.connections.retail_db', [
'driver' => 'pgsql',
'host' => env('RETAIL_DB_HOST', 'localhost'),
'port' => env('RETAIL_DB_PORT', 5432),
'database' => env('RETAIL_DB_DATABASE', 'forge'),
'username' => env('RETAIL_DB_USERNAME', 'forge'),
'password' => env('RETAIL_DB_PASSWORD', ''),
'charset' => env('RETAIL_DB_CHARSET', 'utf8'),
'prefix' => env('RETAIL_DB_PREFIX', ''),
'schema' => env('RETAIL_DB_SCHEMA', 'public'),
]);
return app('db')->connection('retail_db')->select("SELECT * FROM users");
});
这段代码应该可以在 Laravel 上运行,但我找不到任何有关 Lumen 的信息。
我正在使用最新的 Lumen 版本。
【问题讨论】:
-
@ClaudioKing 我已经阅读了文档,但如果没有说明运行时的数据库连接。
-
我们如何使用 $config = $app->make('config');在控制器的行动中?请告诉我。谢谢。
标签: php postgresql sqlite laravel lumen