更新数据时 RouteCollection.php 第 251 行中的 MethodNotAllowedHttpException laravel
MethodNotAllowedHttpException in RouteCollection.php line 251 when update data laravel
这个问题是关于编辑我在table中的数据。视图或表格已完美显示。但是当我编辑我的数据并按下更新按钮时,它显示 MethodNotAllowedHttpException 错误。我的方法错了吗?
这是观点
<form class="form-horizontal form-label-left" method="post" action="{{action('AdminController@updateruang', $id_ruang)}}">
{{csrf_field()}}
<div class="item form-group">
<input name="_method" type="hidden" value="PATCH">
<label class="control-label col-md-3 col-sm-3 col-xs-12">ID Ruangan <span class="required">*</span></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input type="text" class="form-control form-control-lg" id="lgFormGroupInput" placeholder="title" name="title" value="{{$ruang->id_ruang}}">
</div>
</div>
<div class="item form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12">Nama Ruangan <span class="required">*</span></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input type="text" class="form-control form-control-lg" id="lgFormGroupInput" placeholder="title" name="title" value="{{$ruang->nm_ruang}}">
</div>
</div>
<div class="item form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12">Keterangan <span class="required">*</span></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input type="text" class="form-control form-control-lg" id="lgFormGroupInput" placeholder="title" name="title" value="{{$ruang->keterangan}}">
</div>
</div>
<div class="form-group row">
<div class="col-md-2"></div>
<button type="submit" class="btn btn-primary">Update</button>
</div>
</form>
这是 AdminController
public function updateruang(Request $request, $id_ruang)
{
$ruang = Ruang::find($id_ruang);
$ruang->nm_ruang = $request->get('nm_ruang');
$ruang->keterangan = $request->get('keterangan');
$ruang->save();
return redirect('/admin/dataruang')->with('success', 'New data has been updated!!');
}
这是路线
Route::post('/editdataruang{id_ruang}','AdminController@updateruang', function(){
$users[] = Auth::user();
$users[] = Auth::guard()->user();
$users[] = Auth::guard('admin')->user();
})->name('editdataruang');
问题是这样的 - 在你的代码中你有:
<input name="_method" type="hidden" value="PATCH">
但是你的路线定义为
Route::post('/editdataruang{id_ruang}','AdminController@updateruang', function(){
所以要么删除行:
<input name="_method" type="hidden" value="PATCH">
从表格或更改:
Route::post('/editdataruang{id_ruang}','AdminController@updateruang', function(){
进入
Route::patch('/editdataruang{id_ruang}','AdminController@updateruang', function(){
假设您正在进行更新,您应该将路由从 post
更改为 patch
而不是从表单中删除行。
这个问题是关于编辑我在table中的数据。视图或表格已完美显示。但是当我编辑我的数据并按下更新按钮时,它显示 MethodNotAllowedHttpException 错误。我的方法错了吗?
这是观点
<form class="form-horizontal form-label-left" method="post" action="{{action('AdminController@updateruang', $id_ruang)}}">
{{csrf_field()}}
<div class="item form-group">
<input name="_method" type="hidden" value="PATCH">
<label class="control-label col-md-3 col-sm-3 col-xs-12">ID Ruangan <span class="required">*</span></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input type="text" class="form-control form-control-lg" id="lgFormGroupInput" placeholder="title" name="title" value="{{$ruang->id_ruang}}">
</div>
</div>
<div class="item form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12">Nama Ruangan <span class="required">*</span></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input type="text" class="form-control form-control-lg" id="lgFormGroupInput" placeholder="title" name="title" value="{{$ruang->nm_ruang}}">
</div>
</div>
<div class="item form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12">Keterangan <span class="required">*</span></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input type="text" class="form-control form-control-lg" id="lgFormGroupInput" placeholder="title" name="title" value="{{$ruang->keterangan}}">
</div>
</div>
<div class="form-group row">
<div class="col-md-2"></div>
<button type="submit" class="btn btn-primary">Update</button>
</div>
</form>
这是 AdminController
public function updateruang(Request $request, $id_ruang)
{
$ruang = Ruang::find($id_ruang);
$ruang->nm_ruang = $request->get('nm_ruang');
$ruang->keterangan = $request->get('keterangan');
$ruang->save();
return redirect('/admin/dataruang')->with('success', 'New data has been updated!!');
}
这是路线
Route::post('/editdataruang{id_ruang}','AdminController@updateruang', function(){
$users[] = Auth::user();
$users[] = Auth::guard()->user();
$users[] = Auth::guard('admin')->user();
})->name('editdataruang');
问题是这样的 - 在你的代码中你有:
<input name="_method" type="hidden" value="PATCH">
但是你的路线定义为
Route::post('/editdataruang{id_ruang}','AdminController@updateruang', function(){
所以要么删除行:
<input name="_method" type="hidden" value="PATCH">
从表格或更改:
Route::post('/editdataruang{id_ruang}','AdminController@updateruang', function(){
进入
Route::patch('/editdataruang{id_ruang}','AdminController@updateruang', function(){
假设您正在进行更新,您应该将路由从 post
更改为 patch
而不是从表单中删除行。