Laravel, как передать параметр в middlleware? - PullRequest
0 голосов
/ 19 сентября 2018

Kernel.php

protected $routeMiddleware = [
        'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
        'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
        'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
        'can' => \Illuminate\Auth\Middleware\Authorize::class,
        'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
        'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,

        'isSeller' =>App\Http\Middleware\IsSeller::class,
        'isDealer' =>App\Http\Middleware\IsDealer::class,
    ];

web.php

Route::group(['middleware'=>['isDealer:verified']],function (){
    Route::post("/doc_submit", "DealerController@docSubmit")->name('doc-submit');
});

IsDealer.php

public function handle($request, Closure $next)
    {
        if ( Auth::check() && Auth::user()->isDealer() )
        {
            dd($request->route()->parameters()); // []
            $notification_count = count(Notification::where('user_id','=', Auth::user()->id)->where('seen', '=', 0)->get());

            View::share('notification', $notification_count);

            return $next($request);
        } else {
            return GlobalController::AuthLoginPrompt("dealer");
        }
    }

Мне нужно проверить статус подтверждения учетной записи этого пользователя, когда он пытается отправить документ, как я могу передать параметр в промежуточное ПО?dd ($ request-> route () -> parameters ()) return [], как я могу быть «проверен», поскольку я уже пишу ['middleware' => ['isDealer: Verified']]

1 Ответ

0 голосов
/ 19 сентября 2018

Согласно документации laravel , Дополнительные параметры промежуточного программного обеспечения будут переданы промежуточному программному обеспечению после аргумента $ next, Попробуйте:

public function handle($request, Closure $next, $verify)

...