2016-06-10 112 views
1

我剛剛將Facebook和Google登錄添加到了我的網站,並且client_id和client_secret的值從管理控制面板設置並存儲在我的數據庫設置表中。Laravel 5:從數據庫獲取值到config/services.php

當我試圖做這樣的事情(在配置/ 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; 
+0

我建議你不要從配置中訪問db值。像Facebook客戶端ID這樣的事情每天都不會改變,但會隨環境而變化。所以這些值的最佳位置是.env文件。 – Abhishek

回答

0

不要添加use App\Setting到文件的頂部,因爲它不是一個類。

只需在代碼中直接使用App\Setting::即可。

+0

試過了,仍然是空白頁... – Daniel

+0

好吧,我已經幫助過你的代碼,現在它是正確的代碼。現在您需要調試錯誤。確保'App \ Setting :: findOrFail('facebook_client_id') - > first() - > value,'工作。例如,在'tinker'中運行它。另外,請查看Laravel的'error.log'文件等。如果我不知道你身邊發生了什麼,我無法幫助你。 ;) –

+0

因爲沒有錯誤出現,日誌文件不會更新......正如我所說,我所得到的只是一個空白頁面。我檢查了修補程序,它在那裏工作。 – Daniel