2017-09-23 11 views
0

私は本当に必死です。 私はlaravelプロジェクトを5.2から5.5に移行しています。すべてが完成する予定です。しかし、コントローラのコンストラクタでRequestオブジェクトを使用するのに問題があります。 Requestオブジェクトを使用するとコントローラはミドルウェアをスキップしているようです。 私は$ this->ミドルウェア( '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()メソッドのコールバック関数でコントローラのRequestオブジェクトを使用できます。これを試してみてください:

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

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

私は同じ方法を試しましたが、ミドルウェアコードで...うまくいかない! –