Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel资源路由未使用{method_字段(';PATCH';)}在数据库中更新_Php_Laravel_Laravel 5_Routes - Fatal编程技术网

Php Laravel资源路由未使用{method_字段(';PATCH';)}在数据库中更新

Php Laravel资源路由未使用{method_字段(';PATCH';)}在数据库中更新,php,laravel,laravel-5,routes,Php,Laravel,Laravel 5,Routes,当我点击更新按钮时,LaravelresourceRoute并没有更新,但它在同一进程中有存储 我正在使用data toggle=“modal”更新我的值,但它不是更新我的类别吗 我的问题到底在哪里?我检查我的id是否正确传递,但它不会传递给我的更新控制器函数。我使用dd($request->all())进行检查 我的路线是 Route::resource('/mother-category', 'MotherCategoryController'); 我的更新和存储功能是 public f

当我点击更新按钮时,Laravel
resource
Route并没有更新,但它在同一进程中有存储

我正在使用
data toggle=“modal”
更新我的值,但它不是更新我的类别吗

我的问题到底在哪里?我检查我的id是否正确传递,但它不会传递给我的更新控制器函数。我使用
dd($request->all())进行检查

我的路线是

Route::resource('/mother-category', 'MotherCategoryController');

我的更新和存储功能是

public function store(Request $request)
    {
        $validator =Validator::make($request->all(), [
            'mother_name' => 'required',

        ]);

        if ($validator->fails()) {
            return redirect()->back()->withErrors($validator);
        }

        MotherCategory::insert([
            'mother_name'=>$request->mother_name
        ]);

        return redirect()->back()->with('message','Mother Category Created Successfully');
    }



    public function update(Request $request, MotherCategory $motherCategory)
    {

        $motherCategory->update([
            'mother_name' => $request->mother_name
        ]);

        return redirect()->back()->with('message','Mother Category Updated successfully');
    }

我的刀锉是


@extends('layouts.master')

@section('title', 'Add Mother Category')

@section('content')
    <div class="container">
        <div class="row">
            <div class="col-lg-10 mx-auto">
                <form action="{{route('mother-category.store')}}" method="post">
                    @csrf
                    <div class="card">
                        <div class="card-header">
                            <h4 style="text-align: center">Add a mother category</h4>
                        </div>
                        <div class="card-body">
                            <div class="form-row mb-3">
                                <div class="col">
                                    <small class="text-uppercase text-dark">Mother Category<span
                                            class="required text-danger">*</span></small>
                                    <input type="text" id="mother_name" name="mother_name" class="form-control"
                                           placeholder="Mother Category" required>

                                    @if ($errors->has('mother_name'))
                                        <small
                                            class="form-control-feedback text-danger">{{ $errors->first('mother_name') }}</small>
                                    @endif
                                </div>
                            </div>
                            <div class="form-row mb-3">
                                <div class="col">
                                    <button type="submit" class="btn btn-success"><i class="fa fa-check"></i> Add
                                    </button>
                                    <button type="button" class="btn btn-inverse">Cancel</button>
                                </div>
                            </div>
                        </div>
                    </div>
                </form>
            </div>
        </div>
        <br>

        <div class="row">
            <div class="col-md-12">
                <div class="card comp-card">
                    <div class="card-body">
                        <h5 class="w-100 text-center">All Mother categories</h5>
                        <div class="table-responsive">
                            <table class="table table-hover" id="motherTable">
                                <thead>
                                <tr>
                                    <th scope="col">#</th>
                                    <th scope="col">Name</th>
                                    <th scope="col">Action</th>
                                </tr>
                                </thead>
                                <tbody>
                                @foreach(App\Models\MotherCategory::all() as $index => $mc)
                                    <tr>
                                        <th scope="row">{{$index+1}}</th>
                                        <td>{{$mc->mother_name}}</td>
                                        <td>
                                            <a href="#" class="btn btn-sm btn-info" data-toggle="modal"
                                               data-target="#exampleModalCenter{{$mc->id}}">Edit</a>
                                            <a id="deleteBtn" data-id="{{$mc->id}}" href="#"
                                               class="btn btn-sm btn-danger">Delete</a>
                                        </td>
                                    </tr>
                                    <div class="modal fade" id="exampleModalCenter{{$mc->id}}" tabindex="-1" role="dialog"
                                         aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
                                        <div class="modal-dialog modal-dialog-centered" role="document">
                                            <div class="modal-content">
                                                <div class="modal-header">
                                                    <h5 class="modal-title" id="exampleModalCenterTitle">Update</h5>
                                                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                                                        <span aria-hidden="true">&times;</span>
                                                    </button>
                                                </div>
                                                <div class="modal-body">
                                                    <form action="{{route('mother-category.update',$mc->id)}}"
                                                          method="post">
                                                        {{ csrf_field() }}
                                                        {{method_field('PATCH')}}
                                                        <div class="form-group">
                                                            <label for="exampleInputEmail1">Name</label>
                                                            {{-- <input type="hidden" name="id" value="{{$mc}}"> --}}
                                                            <input name="mother_name" type="text" class="form-control"
                                                                   id="exampleInputEmail1" aria-describedby="emailHelp"
                                                                   placeholder="Enter mother category"
                                                                   value="{{$mc->mother_name}}"><br><br>
                                                            <input type="submit" class=" btn btn-success"
                                                                   value="Update">
                                                        </div>
                                                    </form>
                                                </div>
                                                <div class="modal-footer">
                                                    <button type="button" class="btn btn-secondary"
                                                            data-dismiss="modal">Close
                                                    </button>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                @endforeach
                                </tbody>
                            </table>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
@endsection



@section('script')

    <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.13.5/js/bootstrap-select.min.js"></script>

    <script>
        $('#motherTable').DataTable({

        });
    </script>

    <script>
        $(document).on('click', '#deleteBtn', function (el) {
            var mcId = $(this).data("id");
            swal({
                title: "Are you sure?",
                text: "Once deleted, you will not be able to recover this category!",
                icon: "warning",
                buttons: true,
                dangerMode: true,
            })
                .then((willDelete) => {
                    if (willDelete) {
                        swal("You have deleted a mother category!", {
                            icon: "success",
                        });
                        window.location.href = window.location.href = "mother-category/delete/" + mcId;
                    }


                });
        });

        $(document).on('click', '#deleteNo', function (el) {
            swal("Oops", "You can't delete this. Some item belongs to it!!", "error")
        })
    </script>
@endsection


@扩展('layouts.master')
@节(“标题”,“添加主类别”)
@节(“内容”)
@csrf
添加一个母亲类别
母类*
@如果($errors->has('mother\u name'))
{{$errors->first('mother_name')}
@恩迪夫
添加
取消

所有母亲类别 # 名称 行动 @foreach(App\Models\MotherCategory::all()作为$index=>$mc) {{$index+1}} {{$mc->mother_name} 更新 &时代; {{csrf_field()}} {{method_字段('PATCH')} 名称 {{-- --}}

接近 @endforeach @端部 @节(“脚本”) $('#motherTable')。数据表({ }); $(文档).on('单击','删除BTN',函数(el){ var mcId=$(this.data(“id”); 游泳({ 标题:“你确定吗?”, text:“一旦删除,您将无法恢复此类别!”, 图标:“警告”, 按钮:是的, 丹格莫德:没错, }) 。然后((将删除)=>{ 如果(将删除){ swal(“您已删除了一个母亲类别!”{ 图标:“成功”, }); window.location.href=window.location.href=“母亲类别/删除/”+mcId; } }); }); $(文档).on('click','#deleteNo',函数(el){ swal(“哎呀”,“你不能删除这个。某些项目属于它!!”,“错误”) }) @端部
呈现html


<div role="document" class="modal-dialog modal-dialog-centered">
    <div class="modal-content">
        <div class="modal-header"><h5 id="exampleModalCenterTitle" class="modal-title">Update</h5>
            <button type="button" data-dismiss="modal" aria-label="Close" class="close"><span
                    aria-hidden="true">×</span></button>
        </div>
        <div class="modal-body">
            <form action="http://localhost:8000/mother-category/2" method="POST"></form>
            <input type="hidden" name="_token" value="F0fzi1ufy2sO9r8apQ6NTrDtDgfGqycpEiUvaMEG"> <input type="hidden"
                                                                                                        name="_method"
                                                                                                        value="PUT">
            <div class="form-group"><label for="exampleInputEmail1">Name</label> <input name="mother_name" type="text"
                                                                                        id="exampleInputEmail1"
                                                                                        aria-describedby="emailHelp"
                                                                                        placeholder="Enter mother category"
                                                                                        value="Plaster &amp; gypsum board."
                                                                                        class="form-control fill user-success"><br><br>
                <input type="submit" value="Update" class=" btn btn-success"></div>
        </div>
        <div class="modal-footer">
            <button type="button" data-dismiss="modal" class="btn btn-secondary">Close
            </button>
        </div>
    </div>
</div>


更新
×
名称

接近
{{method_字段('PATCH')}}
替换为
{{method_字段('PUT')}

或者您可以使用刀片指令
@method('PUT')


@方法('PUT')
...
刃锉

控制器


正如注释中所述,问题在于表单正在直接关闭,因为它可以在html中看到

<div class="modal-body">
  <form action="http://localhost:8000/mother-category/2" method="POST"></form>
    <input type="hidden" name="_token" value="F0fzi1ufy2sO9r8apQ6NTrDtDgfGqycpEiUvaMEG">
    <input type="hidden" name="_method" value="PUT">
    ...


...
由于刀片未直接关闭(见下文)


{{cs
    <form method="POST" action="{{ route('admin.category.update',$category->id) }}">
          @csrf
           @method('PUT')
            <div class="form-group form-float">
             <div class="form-line">
              <input value="{{ old('name') }}{{ $category->name }}" name="name" type="text" class="form-control">
               <label class="form-label">{{ __('Name') }}</label>
                </div>
                 </div>
                    <br>                      
               <a href="{{ route('admin.category.index') }}"  class="btn btn-danger m-t-15 waves-effect">{{ __('BACK') }}</a>
             <button type="submit" class="btn btn-primary m-t-15 waves-effect">{{ __('SUBMIT') }}</button>
         </form>
    Route::resource('category','CategoryController');

    });

     public function edit($id)
        {
            $category =Category::find($id);
            return view('admin.category.edit',compact('category'));
        }

     public function update(Request $request, $id)
        {
            $this->validate($request,[
                'name' => 'required|unique:categories'
            ]);
            $category = Category::find($id);
            $category->name = $request->name;
            $category->slug = str_slug($request->name);
            $category->save();
            Toastr::success('Category Successfully Updated','Success');
            return redirect()->route('admin.category.index');

        }
<div class="modal-body">
  <form action="http://localhost:8000/mother-category/2" method="POST"></form>
    <input type="hidden" name="_token" value="F0fzi1ufy2sO9r8apQ6NTrDtDgfGqycpEiUvaMEG">
    <input type="hidden" name="_method" value="PUT">
    ...

<form action="{{route('mother-category.update',$mc->id)}}" method="post">
  {{ csrf_field() }}
  ...