13. Cómo pasar parámetros por ruta
En este capítulo, aprenderás cómo utilizar parámetros en una ruta de Laravel. Los parámetros son variables que pueden pasar valores diferentes a una ruta para modificar el resultado de una solicitud. Te enseñaremos cómo definir y utilizar parámetros en tus rutas de Laravel para construir rutas dinámicas.
3 comentarios
Inicia sesión para comentar
Comentarios:
-
Victor Arana Flores hace 2 años Destacado
Los parámetros de ruta en Laravel le permiten capturar segmentos variables del URI en su ruta y utilizarlos en su controlador o devolución de llamada de ruta. Puede definir tantos parámetros de ruta como desee en su ruta.
Por ejemplo, en la siguiente ruta, se captura el segmento {id} del URI y se utiliza como argumento en la función de devolución de llamada de la ruta:
Route::get('/user/{id}', function (string $id) { return 'User '.$id; });
En la siguiente ruta, se capturan los segmentos {post} y {comment} del URI y se utilizan como argumentos en la función de devolución de llamada de la ruta:Route::get('/posts/{post}/comments/{comment}', function (string $postId, string $commentId) { // ... });
Tenga en cuenta que los parámetros de ruta siempre están encerrados entre llaves {} y deben constar de caracteres alfabéticos. Los guiones bajos _ también son aceptables dentro de los nombres de parámetros de ruta.Ocasionalmente, puede necesitar especificar un parámetro de ruta que no siempre esté presente en el URI. Puede hacerlo colocando una marca ? después del nombre del parámetro. Asegúrese de dar a la variable correspondiente de la ruta un valor predeterminado, para que no genere un error si el parámetro no está presente en la URL.
Por ejemplo, en la siguiente ruta, {name} es un parámetro opcional. Si se encuentra en la URL, su valor se inyectará en la función de devolución de llamada de la ruta. De lo contrario, se utilizará el valor predeterminado null.
Route::get('/user/{name?}', function (string $name = null) { return $name; });
En la siguiente ruta, {name} también es un parámetro opcional, pero se ha proporcionado un valor predeterminado John.Route::get('/user/{name?}', function (string $name = 'John') { return $name; });
-
Yean Martinez hace 1 año
Muy buenas Tardes Victor, gusto en saludarlo, tengo una duda que no he podido resolver, ya he leído e investigado y no consigo la respuesta, mi duda es la siguiente: tengo un listado de alumnos y puedo entrar a cada uno de ellos y ver sus datos (uso un controlador para alumnos - AlumnosController) ya viendo los datas del alumno tengo un botón que me dirige a las notas del alumno y la maneja el controlador NotasController, el inconveniente viene que si quiero usar los datos del alumno en mención en las vistas de Notas no me trae estos datos; en la vista show de alumnos envío el parámetro por el enlace a la ruta de notas → <a href="{{route('notas.index', $alumno)}}" y en el controlador de Notas en la función index lo recibo → public function index(string $id) , pero aquí no llega ningún valor, yo muestro esta variable y aparece un array vacío … {[]}
Como puedo pasar parámetros de un controlador a otro?? ó como debe recibir estos parámetros el controlador??
Muchas Gracias por su colaboración.
-
Victor Arana Flores hace 1 año
Hola Yean, en el array estás indicando que recibiras un string y creo que le estás mandando otro tipo de dato.
-
-
Victor Roman Ortiz Abreu hace 2 años
Ok, muy valido es un principio de programacion secuencial, aplicado a condicionales simples y multi condicionales, ya tenia mucho tiempo que no veia nada de esto gracias.
-
Daniel hace 1 año
.
-