Comparte:
No me muestra los registros
Hola a todos a ver si me podeis ayudar tengo una ruta creada en el archivo web.php
Route::get('posts/{$post},[PostController::class, 'show'])->name('posts.show');
La funcion de mi PostController.php
public function show(Post $post){
return $post;
}
Y en mi pagina index le creo el vinculo
<a href="{{route('posts.show',$post)}}>{{$post->name}}</a>
El nombre del post me sale(eso significa que la variable llega) pero cuando le doy al nombre que es un vinculo en la url del navegador me aparece blog.test/posts/100 que es el numero del post, pero en pantalla en vez de aparecer los registros de este me pone EXTRAVIADO 404.
Espero me podais ayudar, gracias
Route::get('posts/{$post},[PostController::class, 'show'])->name('posts.show');
La funcion de mi PostController.php
public function show(Post $post){
return $post;
}
Y en mi pagina index le creo el vinculo
<a href="{{route('posts.show',$post)}}>{{$post->name}}</a>
El nombre del post me sale(eso significa que la variable llega) pero cuando le doy al nombre que es un vinculo en la url del navegador me aparece blog.test/posts/100 que es el numero del post, pero en pantalla en vez de aparecer los registros de este me pone EXTRAVIADO 404.
Espero me podais ayudar, gracias
//normal Route::get('posts/{post}', [PostController::class, 'show'])->name('posts.show'); Route::get('posts/{post:slug}', [PostController::class, 'show'])->name('posts.show'); //tendras una url amigable ten cuenta que debes tener campo slug en tabla //si ya no quieres usar getRouteKeyName //public function getRouteKeyName() //{ // return 'slug'; //}
<?php namespace App\Models; [...] class Post extends Model { [...] public function getRouteKeyName() { return 'url'; // return 'slug'; // puedes retornar cualquier otro elemento que consideres pertinente para obtener una url amigable segun sea el caso } [...]public function show(Post $post) { return view('posts.show', compact('post')); }