私のプロジェクトには、最新のニュース記事を含むセクションがあります。このために私は持っています:
- 投稿モデル
- Post リソース コントローラと
- リソース ポスト ルート。
投稿モデル
class Post extends Model
{
use HasFactory, Sluggable;
protected $fillable = [...,...];
public function getRouteKeyName()
{
return 'slug';
}
public function sluggable(): array
{
return [
'slug' => [
'source' => 'title'
]
];
}
}
PostController.php
public function show(Post $post)
{
dd($post);
}
web.php
Route::resource('/posts', App\Http\Controllers\PostController::class)->only(['index','show']);
Index ( http://localhost/news
) と show ( http://localhost/news/{slug}
) は期待どおりに動作します。
今私が気づいた問題/バグ:
ルートをpostsからnewsに変更すると、 show メソッドが機能しなくなります。インデックスは引き続き機能します。
投稿からニュースへの変更されたルート
Route::resource('/news', App\Http\Controllers\PostController::class)->only(['index','show']);
http://localhost/news
動作しますがhttp://localhost/news/{slug}
、PostModel 構造のみを表示します。
あなたは問題を知っていますか、それを機能させるために私は何をしなければなりませんか? 私はLaravel 8と"cviebrock/eloquent-sluggable": "^8.0" package
ナメクジを使用しています。御時間ありがとうございます!