簡體   English   中英

使用注入時缺少必需的參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM