lunes, 11 de mayo de 2020

Rutas con slug en Laravel

En Laravel, si queremos enlazar un modelo a un ruta se hace por el campo id de dicho modelo, es decir:
Route::get('/post/{post}', function(Post $post){
    dd($post);
});

Para cambiar este comportamiento de Laravel de enlazar al modelo mediante el campo id, podemos hacerlo mediante la función getRouteKeyName() en el modelo:
namespace App;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    function getRouteKeyName(){
        return 'slug';
    }
}

No hay comentarios :

Publicar un comentario