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

    Bruno Decruz hace 4 meses

    un grande

  • Javi

    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

    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

    Ruben hace 8 meses

    Como puedo solucionar este problema, pro favor

  • Joseph Rodelo Suarez

    Joseph Rodelo Suarez hace 11 meses

    Buenas Victor, aun me sigue mostrando por el id después de agregar el slug

  • Carlos Palenque

    Carlos Palenque hace 11 meses

    Buenas Victor me funciono perfecto las url amigables pero falla cuando se quiere almacenar un nuevo curso.

     

    Saludos cordiales