我有這種在刀片頁面中檢查登錄用戶角色的機制,這樣我就可以給他/她選擇的頁面,但我發現在用戶登錄并長時間閑置之后以及當他回來并想要繼續在他收到錯誤的頁面
ErrorException 試圖獲取非物件的屬性“id”(查看:/var/www/html/poss_v1/resources/views/dashboard/student/index.blade.php)
我的代碼在下面
<?PHP
$user = Auth::user();
$user_id = $user->id; //----here is the problem it is missing the id when the session has ended--//
$role_user = App\Models\RoleUser::where('user_id', $user_id)->first();
$role_name = App\Models\Role::where('id', $role_user->role_id)->first();
$role = $role_name->name;
?>
uj5u.com熱心網友回復:
@php
if(Auth::check()){
$role_user_id = App\Models\RoleUser::where('user_id', auth()->id())->first()->role_id;
$role = App\Models\Role::where('id', $role_user_id)->first()->name;
}
@endphp
uj5u.com熱心網友回復:
在 Laravel 刀片檔案中,您應該以這種方式檢查登錄用戶。
@php
if(Auth::check()){
$user = Auth::user();
$user_id = $user->id;
$role_user = App\Models\RoleUser::where('user_id', $user_id)->first();
$role_name = App\Models\Role::where('id', $role_user->role_id)->first();
$role = $role_name->name;
}
@endphp
uj5u.com熱心網友回復:
要增加會話的生命周期,您可以將環境變數 SESSION_LIFETIME 修改為您希望的任何分鐘。
并確保您的用戶沒有收到此錯誤,您可以檢查會話是否仍然存在Auth::check()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/531339.html
標籤:拉拉维尔验证会议
