How to pass multiple parameters to middleware with OR condition in Laravel 5.2

You can use the 3 dot (…) syntax in PHP 5.6+

Your middleware’s handle function

public function handle($request, Closure $next, ...$roles)
{
    foreach($roles as $role){
        if ($request->user()->hasRole($role)){
            return $next($request);
        }
    }
    abort(404);
}

Leave a Comment