0

私のプロジェクトには、最新のニュース記事を含むセクションがあります。このために私は持っています:

  1. 投稿モデル
  2. Post リソース コントローラと
  3. リソース ポスト ルート。

投稿モデル

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ナメクジを使用しています。御時間ありがとうございます!

4

1 に答える 1