Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException此路由不支持PUT方法。支持的方法:GET,HEAD

时间:2020-04-27 07:41:46

标签: php laravel

'我无法更新数据错误此路由不支持PUT方法。支持的方法:GET,HEAD。我不知道我需要帮助谢谢 “这是我的控制者”

  public function edit($id){

        $slider = DB::table('header_sliders')->find($id);

        return   view('posts.edit',['header'=>$slider]);

       }

       public function update(Request $request,$id){

        $slider = DB::table('header_sliders')->find($id);

        $header->text = $request->input('text');
        $header->imgName = $request->input('imgName');

        $header->update();

        return  redirect('admin/index',['header'=>$slider]);

       }

“这是我的观点”

 <div class="container">
    <div class="row">
    <div class="col-md-12">
    <form action="{{url('admin/edit/'.$header->id)}}"  method="POST" >
    {{csrf_field()}}
    {{method_field('PUT')}}

    <div class="form-group">
        <label for="exampleInputEmail1">Mətn</label>
        <input type="text" name="text" class="form-control"  aria-describedby="emailHelp" value="{{$header->text}}">
        <small id="emailHelp" class="form-text text-muted"></small>
    </div>
    <div class="form-group">
        <label for="exampleInputPassword1">Şəkil</label>
        <input type="file" name="imgName" class="form-control"  value="{{$header->imgName}}">
    </div>

    <div class="form-check">
    </div>
    <a href ="{{url('admin/index')}}"><button type="submit" class="btn btn-primary">Dəyiş</button></a>

    </form>
    </div>
    </div>
    </div>

4 个答案:

答案 0 :(得分:0)

您的路线admin/edit/仅接受GET,您应将其更改为:

Route::put('admin/edit/{header}', 'Admin\HeaderSlidercontroller@update');

并删除a标签:

<a href ="{{url('admin/index')}}">

答案 1 :(得分:0)

最好检查路由是否存在,如果不存在,则应创建该路由

php artisan route:list

根据您的看法,路线存在冲突

 <form action="{{url('admin/edit/'.$header->id)}}"  method="POST" >
 {{method_field('PUT')}}`

确保您需要做什么, PUT POST ,但不能两者都

此路线Route::put('admin/index, Admin\HeaderSlidercontroller@update');没有参数,因此您无需在html表单中添加参数

<form action="{{url('admin/index')}}" method="PUT" >

并删除此a标签 <a href ="{{url('admin/index')}}"> ...

答案 2 :(得分:0)

据我了解,您尝试通过get方法路线提交无效的表单:

您需要按照以下表格更改路线:

<form action="{{url('admin/update/'.$header->id)}}"  method="POST">

答案 3 :(得分:0)

运行命令帮助了我

php artisan optimize:clear

谢谢