在使用 laravel 8 时,运行带中间件的路由地址可能会出现报错。例如:
errorexception: get() method on model for [appuser] was called without specifying a column.
如果未登录时运行带中间件的路由地址,就会出现此错误。这是因为 laravel 会尝试重定向到登录页,但当前没有定义此路由。
解决方案
解决此问题的步骤:
- 定义登录路由:
route::get('login', 'authlogincontroller@showloginform')->name('login');
- 在控制器中添加中间件:
// 比如,对于需要认证才能访问的路由 Route::get('/admin', 'AdminController@index')->middleware('auth');
通过这些步骤,laravel 就可以正确重定向未登录的用户并解决错误。