40% de descuento en todos los planes

4d: 20h: 1m:48s'
Jesús David Rivas Losada
Jesús David Rivas Losada
Laravel
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

Franco Micalizzi
Franco Micalizzi (0 xp)
Hola Jesús siempre que estás con algún error sirve que compartas tu código o la captura de tu código.
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
Jesús David Rivas Losada
Jesús David Rivas Losada (0 xp)
Hola gracias por tus recomendaciones, bueno para aclarar sigo el procedimiento del video, primero en PostsControllers tengo
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
Franco Micalizzi
Franco Micalizzi (0 xp)
Ok si cuando tu vista renderiza o escribe la URL, viene con el Id deberías revisar como estás escribiendo esa URL por que el problema lo tienes ahí.
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 
Jesús David Rivas Losada
Jesús David Rivas Losada (0 xp)
Gracias por tu respuesta, si en efecto probándola al escribir manualmente el título del post como lo indicas, si funciona y me trae el post. El problema es al cargar la página cuando le doy al botón Leer más de cada post, cuando carga la página el url apunta al id y no al título, arrojando el 404. 
1
Jesús David Rivas Losada
Jesús David Rivas Losada (0 xp)
Redactando la anterior respuesta me di cuenta el error en el enlace del botón jejej lo siento no caí en cuenta de cambiarlo, apuntaba al id, y no al title. Gracias que pena 
1
Alonso
Alonso (0 xp)
Hola Jesús... Yo estoy pegado en la parte de editar y estoy usando laravel 7... Me podrías compartir el código para ver que estoy haciendo mal? Te lo agradecería muchísimo... Mi correo es alonsoloch@hotmail.com   Si pudieras, en serio estaría muy agradecido
Jesús David Rivas Losada
Jesús David Rivas Losada (0 xp)
Hola Alonso, específicamente cuál es el error que se te presenta, y cuándo sucede?
Alonso
Alonso (0 xp)
Se me presenta en toda la sección de actualizar el POST, no me sirve esa sección... Y llevo un mes tratando de hacerlo, empecé el curso como 2 veces por si era un fallo pero nada.
Jesús David Rivas Losada
Jesús David Rivas Losada (0 xp)
Ah vale entiendo, pues apenas voy a empezar esa parte de actualizar. Casi no he tenido tiempo para ser constante con el curso. Cualquier cosa te comento si presento problemas también o no.