[英]Missing required parameter when using injection
我有這條路線:
Route::resource('riskfields', RiskfieldsController::class)->except('show');
在RiskfieldController/edit
中,我將編輯視圖稱為:
public function edit(Riskfield $riskField)
{
return view('riskfields.edit', [
'riskField' => $riskField
]);
}
其中Riskfield
是 model。
所以,在edit.blade.php
里面我有:
{{ Form::open(['route' => ['riskfields.update', $riskField->id], 'method' => 'put', 'autocomplete' => 'off']) }}
當我訪問此端點時: /admin/riskfields/1/edit
我得到:
[Route: riskfields.update] [URI: admin/riskfields/{riskfield}] [Missing parameter: riskfield] 缺少必需參數。 (查看:/var/www/html/resources/views/riskfields/edit.blade.php)
問題是我注入了 model,所以我不知道那里發生了什么。
這是更新方法:
public function update(Riskfield $riskField, Request $request): RedirectResponse
有人可以幫忙嗎?
更新:
dd 輸出:
這個問題讓我停了半個小時,但我希望我的回答對某人有所幫助。 基本上我必須改變這個:
public function edit(Riskfield $riskField)
進入:
public function edit(Riskfield $riskfield)
該參數必須在路由中定義相同的名稱約定,所以我執行php artisan route:list
並且它是admin/riskfields/{riskfield}
希望能幫助到某人。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.