[Route:....? Missing required parameters for Missing required parameters for [Route:....?

Is there a solution for Missing required parameters for [Route:....?

有人可以帮我解决这个错误吗?我已经挣扎了好几天了。

Missing required parameters for [Route: helper.update] [URI: helper/{id}]. (View: D:\Training\LaravelProjects\helps\resources\views\helper\edit.blade.php)

我已经按照文档进行操作,但仍然无法弄清楚哪里出了问题。这是我的代码。

Web.php

Route::group(['prefix' => 'helper'], function (){
 Route::get('/create', [
    'uses' => 'HelperController@create',
    'as' => 'helper.create'
 ]);

 Route::get('/{id}/edit', [
    'uses' => 'HelperController@edit',
    'as' => 'helper.edit'
 ]);

 Route::get('/{id}', [
    'uses' => 'HelperController@show',
    'as' => 'helper.show'
 ]);

 Route::post('/', [
    'uses' => 'HelperController@store',
    'as' => 'helper.store'
 ]);

 Route::put('/{id}', [
    'uses' => 'HelperController@update',
    'as' => 'helper.update'
 ]);

 Route::delete('/{id}', [
    'uses' => 'HelperController@destroy',
    'as' => 'helper.destroy'
 ]);
});

HelperController.php

public function edit($id)
{
    $helper = Helper::find($id);
    return view('helper.edit', compact('helper'));
}

index.blade.php

<tbody>
                @foreach($helpers as $helper)
                <tr>
                    <td>{{ $helper->name }}</td>
                    <td>{{ $helper->email }}</td>
                    <td>{{ $helper->telephone }}</td>
                    <td>{{ $helper->city }}</td>
                    <td>{{ $helper->district }}</td>
                    <td>{{ $helper->province }}</td>
                    <td>{{ $helper->category }}</td>
                    <td>
                        <a href="{{ route('helper.edit', $helper->id) }}" class="edit">
                            <i class="fas fa-pencil-alt" title="Edit" style="font-size: 16px"></i>
                        </a>
                        <a href="#deleteEmployeeModal" class="delete" data-toggle="modal" data-widget="">
                            <i class="fas fa-trash" title="Delete" style="font-size: 16px"></i>
                        </a>
                    </td>
                </tr>
                @endforeach

我只想在单击编辑 link 后打开 edit.blade.php 文件。删除部分不完整,请忽略。 此外,id 正在作为参数传递,但仍然说它丢失了。

resources\views\helper\edit.blade.php 中确保将助手 ID 传递给更新 post/put html 表单

{{ route('helper.update', $helper->id) }}

希望对您有所帮助

我的项目也遇到了类似的问题,这里的问题是你的 ID。那些缺少的参数是 Laravel 无法获取的 ID,因为它具有空值。

在 PHPMyAdmin 中,

编辑您的 SQL 文件并删除负责存储触发错误的特定操作信息的 table id。然后在 table 的开头添加一列。将名称设置为 id,将 length/value 设置为 11,将类型设置为整数 (INT),然后单击 NULL 旁边的框并将值设置为 PRIMARY。等待弹出窗口,然后单击“确定”。之后,勾选自动增量下的框。保存 table 并刷新并注意现在每一列都有一个具有不同值的 ID。并且不为空。返回您的申请并重新提交您的请求,它应该可以正常工作。