在我的Laravel 5.2中。在构造函数中public function __construct(){ $this->data['user'] = Auth::guard('customer')->user(); $this->middleware('customer');}因此,我可以在控制器中的任何位置使用“$this->data['user']”。但在Laravel 5.3或更高版本中,我们无法访问构造函数中经过身份验证的用户。当我尝试在构造函数中使用基于闭包的中间件时。public function __construct(){ $this->data['user'] = Auth::guard('customer')->user(); $this->middleware('customer');}然后我收到错误:错误异常 尝试获取非对象 http://localhost/dhruv/intranet-v6.0/public/profile 的属性“标头”
1 回答
回首忆惘然
TA贡献1847条经验 获得超11个赞
试试这个方式
public function __construct()
{
$this->middleware('customer');
$this->middleware(function ($request, $next) {
$this->data['user'] = Auth::guard('customer')->user();
return $next($request);
});
}
- 1 回答
- 0 关注
- 62 浏览
添加回答
举报
0/150
提交
取消