Trabajando con parámetros de ruta en Laravel

Hoy vamos a hablar un poco sobre los parámetros que se pueden pasar en la URL cuando usamos el framework Laravel y sobre la importancia del nombre de la variable que los mismos deben tener.

Recuerda que cuando usas un resource de Laravel, el framework asigna un nombre dependiendo del modelo; y varias veces no es el que esperamos.

Por otro lado debemos cuidar el nombre de la variable cuando recibimos el parámetro en un controlador.

Veamos cómo funcionan los parámetros de ruta en Laravel al usar resources y controladores, además de un truco para saber el nombre de los parámetros de las rutas de Laravel.

Recibir parámetro: nombre de variable

Primero veamos qué nombre debe tener nuestro parámetro. Este nombre es muy importante y debe coincidir con el resource.. Por ejemplo yo tengo mi método destroy:

Fíjate en que recibo el parámetro de tipo User, pero la variable en este caso no tendrá al usuario que espero, ya que al definirlo en mi resource no le puse ese nombre, así que debo recibirlo como usuario, literalmente así:

Ahora el parámetro se llama usuario, y esto es porque al definir mi resource lo hice con “usuarios”, y el parámetro es la versión singularizada de esa cadena.

Listar parámetros de URL en Laravel

En este caso para “usuarios” es fácil saber el nombre del parámetro (y variable) en singular, pero para cuando son otras cosas como “publicaciones_foros” o cosas complejas puede que no sepamos el nombre del parámetro ya que el algoritmo de Laravel lo puede entender de manera distinta.

Por ello es que un truco que podemos aplicar es listar las rutas con: php artisan route:list

Que nos dará una salida como la siguiente:

Y aquí podemos ver que en el caso de publicaciones_foros el parámetro se llama publicaciones_foro (aunque un humano lo llamaría publicacion_foro, pero el algoritmo no).

Así es como podemos averiguar el nombre de los parámetros con Laravel.

Igualmente podemos indicar la versión singularizada de nuestro resource al momento de definirlo, pero en caso de que tengas prisa o quieras dejar todo como está puedes hacer lo de este post.

Por aquí te dejo más tutoriales de PHP y Laravel.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario