Laravel 9 本地化出错缺少参数:转换参数时的 id

Laravel 9 Localization got error Missing parameter: id when cast parameter

这里想问一下laravel本地化的问题。特别是当我想根据参数 id

显示数据时出现“Missing parameter: id”错误

这是我的错误:

我的路线:

Route::group(['prefix' => '{language}', 'where' => ['language' => 'id|en']], function() {

    Route::controller(LPNewsController::class)->group(function () {
        Route::get('/news/{id}', 'show',)->name('lp-news-show');
    });
});

我的控制器:

public function show($lang, $id)
{
    $data = MNews::find($id);
            
    return view('lp_layouts.news.show', compact('data'));
}

我在索引视图上的按钮,用于转换参数:

<a href="{{ route('lp-news-show', [ app()->getLocale(), $item->id ]) }}"> Link </a>

非常感谢。

将您的 href 标签更改为

<a href="{{ route('lp-news-show', ['language' => app()->getLocale(), 'id' => $item->id ]) }}"> Link </a>