Saltar al contenido

Pasar parámetros al middleware en Laravel

Hola usuario de nuestro sitio web, hemos encontrado la solución a lo que andabas buscando, desplázate y la hallarás un poco más abajo.

Solución:

En tu caso no puedes pasar $id en el middleware.

En general, puede pasar parámetros al middleware mediante el uso de : símbolo como este:

Route::get('user/id', ['middleware' => 'auth:owner', function ($id) 
    // Your logic here...
]);

Y obtenga el parámetro pasado en un método de middleware como este:

check() && auth()->user()->hasRole($role)) 
            return $next($request);
        

        return redirect('login');
    

Tenga en cuenta que el handle() método, que por lo general sólo toma un $request y un $next closuretiene un third parameterque es nuestro parámetro de middleware.

Si pasaste varios parámetros como auth:owner,subscription a su llamada de middleware en la definición de ruta, solo agregue más parámetros a su método de manejo que se verá así: handle($request, Closure $next, $role,$subscription)

¡Espero que esto ayude!

Puede utilizar uno de los siguientes métodos para acceder al parámetro de ruta en un middleware:

primer método

$request->route()->parameters();

Este método devolverá un array de todos los parámetros.

segundo método

$request->route('parameter_name');

Aquí parameter_name se refiere a lo que llamó el parámetro en la ruta.

Finalizando este artículo puedes encontrar las notas de otros sys admins, tú igualmente tienes el poder dejar el tuyo si lo crees conveniente.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *