Comparte:
Desarrollo de un Blog - Video 21
Hola buenas, se me presenta un error al sobreescribir el getRouteKeyName, aún sigo aprendiendo Laravel y soy algo principiante. Llego hasta la parte del model binding lo hace bien al buscar por el id, pero al sobreescribir el método getRouteKeyName en el modelo, en la url me sigue trayendo el id y me arroja un error 404. La versión de Laravel es 7.15. Agradezco su ayuda
También puedes revisar el código del repositorio, busca en la pestaña Código te va redireccionar a github para que puedas revisar ese repositorio.
Saludos
public function show(Post $post)
{
return view('posts.show',compact('post'));
}
Y en el archivo de rutas web lo modifico a Route::get('blog/{post}','PostsController@show');
Hasta acá todo bien, me trae los posts por id. El problema surge al sobreescribir el método getRouteKeyName(), en el modelo Post tengo:
public function getRouteKeyName()
{
return 'title';
}
Me debería traer los post por el título y en la url aparecer también, sin embargo, me sigue trayendo por id (en la url todavía me trae el id) y arroja error 404
Con esto que muestras en el código, la URL con un nombre debería funcionar.
La puedes probar copiando el campo título de la base de datos directo en el navegador después del /blog/TitlePost