2017-09-23 2 views
0

정말 필사적입니다. laravel 프로젝트를 5.2에서 5.5로 마이그레이션 중이며 모두 완벽 할 것입니다. 하지만 컨트롤러 생성자에서 요청 개체를 사용하는 데 문제가 있습니다. 요청 객체를 사용하면 컨트롤러가 미들웨어를 건너 뛰는 것 같습니다. $ 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

동일한 방법을 시도했지만 미들웨어 코드로 시도했습니다 ... 작동하지 않습니다! –

관련 문제