Я хочу показать страницу редактирования и обновлять запись всякий раз, когда пользователь нажимает кнопку «РЕДАКТИРОВАТЬ» в таблице записей на странице индекса.
В основном речь идет о функции EDIT в типичной операции CRUD в Laravel 5.8
Я попробовал несколько вопросов и ответов, предложенных stackoverflow, прежде чем, наконец, решил задать этот вопрос, потому что ни один из ответов не работал дляme.
Функция редактирования в контроллере
public function edit($id)
{
$grantapplications = grantapplications::findOrfail($id);
return view('member.grant_apply.edit', compact('grantapplications'));
}
Маршруты панели инструментов участника
Route::group(['namespace' => 'Member'], function()
{
Route::get('/grant_apply/edit', 'GrantApplicationsController@edit')
->name('member.grant_apply.edit');
Route::post('/grant_apply/edit/{id}', 'GrantApplicationsController@update')
->name('member.grant_apply.update');
});
Edit.blade
<form method="post" action="{{ route('member.grant_apply.edit', $grantapplications->id) }}">
@method('PATCH')
@csrf
Отправить кнопку при редактировании.blade
<input class="btn btn-lg btn-primary btn-block"
type="submit"
value="Update!">
На всякий случай, если вы захотите увидеть мою функцию update ()
public function update(Request $request, $id)
{
$request->validate([
'project_category' => 'required',
'project_title' => 'required',
'project_desc' => 'required',
'project_location' => 'required',
'grant_goal' => 'required',
'start_date' => 'required',
'end_date' => 'required'
]);
$grantapplications = grantapplications::find($id);
$project_category->project_category = $request->get('project_category');
$project_title->project_title = $request->get('project_title');
$project_desc->project_desc = $request->get('project_desc');
$project_location->project_location = $request->get('project_location');
$grant_goal->grant_goal = $request->get('grant_goal');
$start_date->start_date = $request->get('start_date');
$end_date->end_date = $request->get('end_date');
$grantapplications->save();
return redirect('/member/grant_apply/index')
->with('success', 'Application is successfully updated!');
}
Между тем, идентификатор grantapplications фактически существует в БД.
Я ожидаю, что смогу успешно редактировать и обновлять запись, не выдавая такую ошибку.
С нетерпением жду благодарности