Laravel 5.6,我有一个生成用户菜单的中间件。在此中间件中,我有一条转到帐户编辑页面的路由;
action("CompanyController@edit", ['company' => Auth::user()->company->id])
如果用户注销,则在注销时引发以下错误:
ErrorException (E_NOTICE)
Trying to get property 'company' of non-object
我可以通过将路线更改为以下方式来解决此问题:
action("CompanyController@edit", ['company' => Auth::check() ? Auth::user()->company->id : ''])
现在,未经身份验证的用户将导致重定向到登录页面,并且不会引发错误-如预期的那样。
但是,这感觉不对。身份验证中间件是否应该在执行其他任何操作之前不捕获此错误?有什么办法可以解决,必须先完成身份验证检查,然后才能找回用户详细信息?