Laravel 服务提供者从数据库中检索数据

fka*_*usi 6 service-provider laravel laravel-5

我是 Laravel 服务提供商的新手,我只想将数据库数据拉出并返回,以便我的配置文件可以访问该数据。

我怎样才能在 Laravel 服务提供商中做到这一点。

And*_*ers 6

使用引导方法访问数据库并将其发布到临时配置键的示例。

class YourServiceProvider extends ServiceProvider
{
    public function boot()
    {
        $welcomeMessage = "Welcome " . \App\User::first()->name;
        config(['your-namespace.message' => $welcomeMessage ]);
    }
Run Code Online (Sandbox Code Playgroud)

稍后在应用程序中的其他文件中,您可以像这样访问它

Route::get('/', function () {
    return config('your-namespace.message');
});
Run Code Online (Sandbox Code Playgroud)

  • 但不建议这样做。当您首次克隆并运行“composer install”而尚未实际连接到数据库时,当 laravel 尝试发现新包时,它将返回错误。取决于您要在哪里使用这些配置,如果在控制器内,那么使用中间件可能是更好的选择。 (5认同)