Есть ли решение проблемы отсутствия необходимых параметров для [Маршрут:....?

Может ли кто-нибудь помочь мне с этой ошибкой? Я борюсь уже несколько дней.

Отсутствуют обязательные параметры для [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 и повторно отправьте свой запрос, он должен работать отлично.

Другие вопросы по тегам