登錄我在我的用戶模型的方法是:Laravel呼籲用戶的方法,如果沒有
public function hasRole($roles)
{
foreach ($roles as $role) {
if ($role === $this->role_id) {
return true;
}
}
return false;
}
而且我通過檢查這個方法添加一個類來我的應用程序的身體返回:
<div id="spark-app" v-cloak class="{{ (Auth::user()->hasRole([1]) ? 'customer' : '') }}">
這正確的工作,但如果沒有登錄用戶,我當然會收到一個錯誤。
Call to a member function hasRole() on null
有沒有辦法在檢查是否有用戶的同時仍然使用這個速記語句?
我可以將簡寫包裝在內聯if語句中,但感覺凌亂。有沒有更好的方法來處理這個問題?
你可以在控制器上做一個輔助方法,在檢查它是否有角色之前先檢查isset(Auth :: user())。然後在刀片上調用你的方法 –