【问题标题】:Laravel 5: Getting values from DB to config/services.phpLaravel 5:从数据库获取值到 config/services.php
【发布时间】:2016-06-10 20:28:01
【问题描述】:

我刚刚将 Facebook 和 Google 登录添加到我的网站,client_id 和 client_secret 的值是从管理控制面板设置并存储在我的数据库的设置表中。

当我尝试做这样的事情时(在 config/services.php 上):

'facebook' => [
    'client_id' => Setting::findOrFail('facebook_client_id')->first()->value,
    'client_secret' => '',
    'redirect' => env('APP_URL') . '/login/facebook/callback',
],

'google' => [
    'client_id' => '',
    'client_secret' => '',
    'redirect' => env('APP_URL') . '/login/google/callback',
],

我得到一个空白页。

当然,我在我的 config/services.php 文件中添加了这个:

use App\Setting;

【问题讨论】:

  • 我建议你不要从配置中访问 db 值。诸如 facebook 客户端 ID 之类的东西不会每天都在变化,而是会随着环境而变化。所以这些值的最佳位置是 .env 文件。

标签: php laravel laravel-5.2


【解决方案1】:

不要在文件顶部添加use App\Setting,因为它不是一个类。

直接在代码中使用App\Setting::即可。

【讨论】:

  • 好吧,我已经帮您编写了代码,现在它是正确的代码。现在您需要调试错误。确保App\Setting::findOrFail('facebook_client_id')->first()->value, 有效。在其他地方运行它,例如在tinker 中。另外,请查看 Laravel error.log 文件等。如果我不知道您身边发生了什么,我无法帮助您。 ;)
  • 因为没有出现错误,所以日志文件没有更新...正如我所说的,我得到的只是一个空白页。我检查了修补程序,它确实在那里工作。
  • 然后打开DEBUG模式,安装调试栏,检查web服务器错误。
猜你喜欢
  • 2018-01-05
  • 2015-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-19
  • 1970-01-01
  • 2020-12-22
相关资源
最近更新 更多