Laravel 5.7更新部分,无消息错误

时间:2018-12-06 03:26:58

标签: laravel eloquent

  

Symfony \组件\ HttpKernel \ Exception \ MethodNotAllowedHttpException   没有消息

查看

<form method="POST" action="{{ route('products.update',[$product->id]) }}">
{{csrf_field()}}
     <select class="form-control" name="type">
      ...
     </select>
</form>

模型

    protected $fillable = [
    'id',
    'request_register',
    'request_number', 
    'request_companyname',
    'request_filename', 
    'request_description', 
    'created_worker', 
    'deposit_number', 
    'deposit_cost', 
    'type', 
    'type_user',
];

控制器

public function update(Request $request, $id){
    $product = Product::findOrFail($id);
    $product->update($request->all());
    return redirect()->route('products.index');
}

路线

Route::group(['middleware' => 'auth'], function () {
   Route::resource('products', 'ProductController');
});

1 个答案:

答案 0 :(得分:2)

您需要以自己的形式欺骗该方法:

<form method="POST" action="{{ route('products.update',[$product->id]) }}">
    <input type="hidden" name="_method" value="PUT">
    {{csrf_field()}}
    <select class="form-control" name="type">
    ...
   </select>
</form>