所以我只想简单地在Laravel中更新。
这是错误:
这是我的控制器:
public function update(Request $request, $id)
{
$request->validate([
'category_fam'=>'required',
'student_name'=>'required',
'parent_name'=>'required',
'grade'=>'required',
'phone'=>'required',
'email'=>'required',
]);
$contact = contact::find($id);
$contact->category_fam = $request->get('category_fam');
$contact->student_name = $request->get('student_name');
$contact->parent_name = $request->get('parent_name');
$contact->grade = $request->get('grade');
$contact->phone = $request->get('phone');
$contact->email = $request->get('email');
$contact->save();
return redirect()->route('contact')->with('success','Contact updated successfully');
}
这是我的观点,上面的错误指向:
<form action="{{ route('contact.edit.update',$contact->id) }}" method="POST">
@csrf
@method('PATCH')
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group form-box">
<label for="category_fam">Category Family</label>
<div class="radio">
<label><input type="radio" name="category_fam" id="category_fam" value="Student" checked> Student</label>
</div>
<div class="radio">
<label><input type="radio" name="category_fam" id="category_fam" value="Parent"> Parent</label>
</div>
<div class="radio">
<label><input type="radio" name="category_fam" id="category_fam" value="Other"> Other</label>
</div>
</div>
</div>
这是我的路线
Route::post('/contact/edit', 'WC\ContactController@update')->name('contact.edit.update');
那么如何解决呢?其他Controller工作正常,我遵循更新模式。
答案 0 :(得分:0)
据我所知,您没有从请求中获取任何数据。在更新请求之前,您是否尝试过dd()
?另外,在您的表单中,我注意到您在打开时使用“ POST”方法,但是在下面定义了“ PATCH”方法。还有一件事,在尝试保存表单之前,您是否在表单中输入了任何数据?
答案 1 :(得分:0)
根据您的表格,您的路线不正确。在表单中,您具有PATCH
方法,因此路由必须为patch
。最重要的是,您必须在路径定义中放入变量:
Route::patch('/contact/edit/{id}', 'WC\ContactController@update')->name('contact.edit.update');
答案 2 :(得分:0)
您可以做的两件事是,首先可以将路线更新为:
发帖
Route::post('/contact/edit', 'WC\ContactController@update')->name('contact.edit.update');
要修补
Route::patch('/contact/edit', 'WC\ContactController@update')->name('contact.edit.update');
或者,您也可以在表单中删除此@method('PATCH')
,它仍然可以与路线中的post一起使用。.
所有这些检查之后,是否要在控制器中获取数据:
dd($id) and also dd(contact::find($id));
祝你好运..
答案 3 :(得分:0)
我从...更改之后
mkdir thumbs
vipsthumbnail -s 320 -o "thumbs/%s.png" image.png
效果很好
谢谢大家