Есть ли решение проблемы отсутствия необходимых параметров для [Маршрут:....?
Может ли кто-нибудь помочь мне с этой ошибкой? Я борюсь уже несколько дней.
Отсутствуют обязательные параметры для [Route: helper.update] [URI: helper/{id}]. (Вид: D:\Training\LaravelProjects\help\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
Все, что я хочу, - это открыть файлedit.blade.php после того, как янажму ссылку редактирования. Часть удаления не завершена, не обращайте на это внимания. Кроме того, идентификатор передается в качестве параметра, но все еще говорит, что он отсутствует.
2 ответа
В resources\views\helper\edit.blade.php
не забудьте передать вспомогательный идентификатор в сообщение об обновлении / поместить html-форму
{{ route('helper.update', $helper->id) }}
Надеюсь это поможет
У меня была аналогичная проблема с моим проектом, проблема здесь в вашем идентификаторе. Эти недостающие параметры - это идентификаторы, которые не могут быть получены Laravel, поскольку они имеют нулевое значение.
В PHPMyAdmin,
отредактируйте файл SQL и удалите идентификатор таблицы, отвечающий за хранение информации о конкретном действии, вызвавшем ошибку. Затем добавьте один столбец в начало таблицы. установите для имени id, установите длину / значение на 11, установите тип на целое число (INT), затем щелкните поле рядом с NULL и установите значение PRIMARY. дождитесь всплывающего окна и нажмите ОК. После этого установите флажок под автоматическим приращением. сохраните свою таблицу, а теперь обновите и обратите внимание, что каждый столбец теперь имеет идентификатор с разными значениями. И не ноль. вернитесь в приложение Ur и повторно отправьте свой запрос, он должен работать отлично.