【发布时间】:2017-05-04 17:15:05
【问题描述】:
我正在努力弄清楚如何在 Laravel 配置文件中进行数据库查询。
我目前使用:
<?php
// config/database.php
$results = \Illuminate\Support\Facades\DB::select( \Illuminate\Support\Facades\DB::raw("select version()") );
$mysql_version = $results[0]->{'version()'};
dd($mysql_version);
return [
...
但我收到的错误是:
RuntimeException in Facade.php line 218:
A facade root has not been set.
in Facade.php line 218
at Facade::__callStatic('raw', array('select version()')) in database.php line 2
at require('/Users/test/code/clooud/config/database.php') in LoadConfiguration.php line 70
at LoadConfiguration->loadConfigurationFiles(object(Application), object(Repository)) in LoadConfiguration.php line 39
at LoadConfiguration->bootstrap(object(Application)) in Application.php line 208
at Application->bootstrapWith(array('Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables', 'Illuminate\\Foundation\\Bootstrap\\LoadConfiguration', 'Illuminate\\Foundation\\Bootstrap\\HandleExceptions', 'Illuminate\\Foundation\\Bootstrap\\RegisterFacades', 'Illuminate\\Foundation\\Bootstrap\\RegisterProviders', 'Illuminate\\Foundation\\Bootstrap\\BootProviders')) in Kernel.php line 160
at Kernel->bootstrap() in Kernel.php line 144
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 116
at Kernel->handle(object(Request)) in index.php line 57
at require('/Users/test/code/clooud/public/index.php') in server.php line 128
如何确保此查询产生输出并解决此错误?
感谢您的帮助!
【问题讨论】:
-
在配置文件中保留默认值,然后在 Laravel 启动后创建一个服务提供者来查询数据库,然后从数据库结果中更新配置值。
-
@Philipp 这不起作用,因为它是我正在修改的数据库配置。 jfadich 有效。谢谢:-)