2017-06-19 61 views
3

我有一個項目,用戶被分配給一個客戶,我想分享這些信息。在Laravel 5.4的視圖中共享

在AppServiceProvider我加

use View; 
use Auth; 

,然後修改啓動到

if (Auth::check()) 
      { 
       $cid = Auth::user()->client_id; 
       $company = \App\Clients::first($cid); 
       view::share('company',$company); 
      } 

,但如果我的DD($公司),我得到

Undefined variable: company 
+0

它可能是一個錯字?視圖不是視圖(首字母大寫) – clod986

回答

8

這是因爲Auth的不在AppServiceProvider

所以,你如果條件回報false

如果您與所有的美景數據,那麼你這樣的代碼不檢查驗證。那麼它會工作。

$company = 'Some value'; 
view::share('company',$company); 

dd($company);  // for print output. 

解決方案 - 對於備用選項,你必須做出Helper類。

1

當運行提供程序boot時,Auth警衛尚未啓動,因此Auth::check()返回false,並且Auth::user()返回null。

你可以做的View::share在中間件,或者在控制器的構造函數(基控制器在整個應用程序,或者某些特定的控制器共享它,如果你需要它在路線的一些子集)。