すべてのコードはLaravel 5.2で動作しています。今私はLaravel 5.3にアップグレードしようとします。それはミドルウェアを破壊します。Laravel 5.3ミドルウェア要求のマージが返されない値
// Verify Middleware
public function handle($request, Closure $next)
{
// I already make sure the data is exists
$user = User::find('abc');
if (!$user) {
return responseHandler()->unauthorized('Unauthorized');
}
$request->merge(['user_id' => $user->id, 'device' => $device]);
return $next($request);
}
// User Controller
public function __construct(Request $request)
{
var_dump($request->all());
$this->user_id = $request->user_id;
$this->device = $request->device;
}
public function getProfile(Request $request)
{
$data = User::find($this->user_id);
$result = Fractal::item($data, new UserTransformer)->getArray();
return responseHandler()->success(0, $result, 'user');
}
問題は$this->user_id
は常にnullです。しかし、私がgetProfile関数から要求すると、正しく返されます。
var_dump
結果はログイン情報のみです。ミドルウェアからのマージ要求がありません
Laravel 5.2では、このコードは正しく動作しています。任意のソリューション?