gpt4 book ai didi

php - 如何在配置文件中进行数据库查询?

转载 作者:行者123 更新时间:2023-12-05 08:55:52 25 4
gpt4 key购买 nike

我正在努力弄清楚如何在 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

如何确保此查询产生输出并解决此错误?

感谢您的帮助!

最佳答案

在您的 config/database.php 文件中保留默认值或空值。创建一个新的服务提供者(使用 artisan 命令或手动)

php artisan make:provider DatabaseConfigProvider

然后将新提供程序添加到 config/app.php 文件中的 $providers 数组。

最后在boot()方法中添加如下代码。

public function boot()
{
$result= \DB::select('select version() as version')[0];
$this->app['config']->put('database.connections.mysql.version', $result->version);
}

put() 参数中的键可以是任何你想要的。

关于php - 如何在配置文件中进行数据库查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43789071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com