Laravel 5 控制器构造函数Laravel 5.5中的请求
我真的很绝望。 我正在将一个laravel项目从5.2迁移到5.5,一切都将变得完美。但我在控制器构造函数中使用请求对象时遇到问题。如果我使用请求对象,控制器似乎会跳过中间件。 我尝试使用$this->middleware('api');但不起作用Laravel 5 控制器构造函数Laravel 5.5中的请求,laravel-5,constructor,controller,request,middleware,Laravel 5,Constructor,Controller,Request,Middleware,我真的很绝望。 我正在将一个laravel项目从5.2迁移到5.5,一切都将变得完美。但我在控制器构造函数中使用请求对象时遇到问题。如果我使用请求对象,控制器似乎会跳过中间件。 我尝试使用$this->middleware('api');但不起作用 public function __construct(Request $req) { $this->commerce = new Commerce($req->user->currency()->currency);
public function __construct(Request $req) {
$this->commerce = new Commerce($req->user->currency()->currency);
}
我的“api”中间件在请求中推送用户对象。
在构造方法$req->用户为空
api路由设置正确,其他控制器正常工作
我忘记了什么?您可以在
$this->middleware()方法的回调函数中使用controller中的Request对象。试试这个:
public function __construct(){
$this->middleware(function($req, $next){
$this->commerce = new Commerce($req->user->currency()->currency);
return $next($req);
});
}
您可以在$this->middleware()
方法的回调函数中使用controller中的Request对象。试试这个:
public function __construct(){
$this->middleware(function($req, $next){
$this->commerce = new Commerce($req->user->currency()->currency);
return $next($req);
});
}
我尝试了相同的方法,但使用中间件代码。。。不行!您的返回$next($request)
不应该是返回$next($req)
?我尝试了相同的方法,但使用了中间件代码。。。不行!您的返回$next($request)
是否应该返回$next($req)
?