2017-09-23 114 views
0

我真的很绝望。 我正在将一个laravel项目从5.2迁移到5.5,这一切都会变得完美。但我有问题在控制器构造函数中使用Request对象。如果我使用Request对象,控制器似乎跳过了中间件。 我试图使用$ this-> middleware('api');但不工作。请求在控制器构造函数Laravel 5.5

public function __construct(Request $req) { 
    $this->commerce = new Commerce($req->user->currency()->currency); 
} 

我的'api'中间件在请求中推送用户对象。 在构造方法$ req-> user为null!

api路径设置正确,其他控制器正常工作!

我忘了什么?

回答

0

您可以在$this->middleware()方法的回调函数中使用控制器中的请求对象。试试这个:

public function __construct(){ 
    $this->middleware(function($req, $next){ 
    $this->commerce = new Commerce($req->user->currency()->currency); 

    return $next($request); 
    }); 
} 
+0

我尝试了同样的方法,但与中间件代码...不工作! –