2017-02-20 127 views
0

我想在不同的控制器中獲得相同的視圖文件nav.blade.php,但爲管理員和不同的用戶獲取不同的內容,但有一個錯誤。試圖獲得非對象Laravel 5.3的屬性,nav.blade.php

error:View: /var/www/epharma/resources/views/nav.blade.php)

而且問題是這條線

線48:

@if(Auth::user()->type === 'User') 
    <div> Html for user</div> 
+0

發佈您的代碼,請! – sandrooco

回答

2

會發生這種情況,當有用戶登錄沒有。你可以做這樣的事情:

@if (Auth::guest()) 
    <p> Not logged in</p> 

@elseif(Auth::user()->type === 'User') 
    <p> Logged in</p> 
@endif 
1

試試這個

if(Auth::user() && Auth::user()->type === 'User') 

它不會拋出錯誤,如果第一個條件是假

0

的用戶沒有通過驗證所以Auth::user()Null。你正試圖得到null->id。從非對象獲取id屬性(null)。 您必須首先檢查用戶是否通過Auth::check()Auth::user() != null ..等等進行了驗證。然後嘗試獲取用戶屬性。

0

已幾乎回答了,但你可以做這樣的以及

@if (Auth::guest()) 
    <p> Not logged in</p> 

@elseif(Auth::user()->type == 'User') 
    <p> Logged in</p> 
@endif 
相關問題