24. Cómo generar url's amigables
En este capítulo de Laravel, aprenderás a utilizar la función getRouteKeyName para crear URL amigables y fáciles de recordar para tus modelos en Laravel. Con getRouteKeyName, puedes especificar el nombre de un campo de tu modelo para que sea utilizado como clave en lugar del id predeterminado. Esto te permitirá crear URLs más legibles y semánticamente significativas para tus usuarios, lo que a su vez mejorará la experiencia del usuario y el SEO de tu sitio. Aprenderás cómo implementar getRouteKeyName en tu proyecto Laravel y cómo personalizar tus URL utilizando los nombres de campo que mejor se adapten a tus necesidades.
6 comentarios
Inicia sesión para comentar
Comentarios:
-
Bruno Decruz hace 4 meses
un grande
-
Javi hace 4 meses
Buenas Victor, lo primero de todo darte las gracias por tus cursos, te explicas muy bien y de una forma fácil de comprender.
Sobre este bloque quería añadir que si vamos a trabajar con “slugs” y vamos a buscar por las mismas, sería interesante que al crear este campo lo hagamos de tipo “unique” ya que vamos a tener un problema si tenemos dos url con el mismo nombre.
Un saludo y gracias por los aportes!
-
Walter hace 8 meses
📌 Comenzamos añadiéndole a la migración de cursos un campo llamado slug:
$table->string('slug');
Actualizamos el factory haciendo uso de:
use Illuminate\Support\Str;
Definimos la variable $name en el método definition():
$name = $this->faker->sentence();
En el array que devuelve:
'name' => $name; 'slug' => Str::slug($name, '-');
Ejecutamos la migración:
php artisan migrate:fresh --seed
El método que nos permite recuperar el id a partir de $cursos es getRouteKeyName() y se encuentra en vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php, el cual redefinimos en el modelo app\Models\Curso.php:
public function getRouteKeyName() { return 'slug'; }
-
Ruben hace 8 meses
Como puedo solucionar este problema, pro favor
-
Joseph Rodelo Suarez hace 11 meses
Buenas Victor, aun me sigue mostrando por el id después de agregar el slug
-
Carlos Palenque hace 11 meses
Buenas Victor me funciono perfecto las url amigables pero falla cuando se quiere almacenar un nuevo curso.
Saludos cordiales