我在浏览器上重新加载以前打开的Laravel项目标签时遇到错误。页面上没有错误,我的意思是它在半小时前打开时正确加载。
错误显示“尝试获取非对象属性”
4/4 ErrorException
Trying to get property of non-object
(View: C:\xampp\htdocs\demo\resources\views\partials\mainheader.blade.php)
(View: C:\xampp\htdocs\demo\resources\views\partials\mainheader.blade.php)
(View: C:\xampp\htdocs\demo\resources\views\partials\mainheader.blade.php)
已添加:只有mainheader.blade.php
可能导致问题的可疑代码是,我正在使用{{ Auth::user()->name }}
。但我仍然混淆了如何重定向此异常。
我的想法是,这是由于session
和token expiration
中的错误,所以我将此代码添加到app/Exception/handler.php
if ($e instanceof \Illuminate\Session\TokenMismatchException) {
return redirect('error/403')->withErrors(['token_error' => 'Sorry, your session seems to have expired. Please try again.']);
}
但是,那还没有解决。你能以正确的方式取悦我吗?
答案 0 :(得分:0)
发现我的错误。实际上是在路线上,我应该为Auth添加中间件。
Route::get('/home', ['middleware' => 'auth', function () {
return view('home');
}]);
现在,这很好并且有效。