Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.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 我能';我不明白销毁功能是如何工作的?_Php_Laravel_Yajra Datatable - Fatal编程技术网

Php 我能';我不明白销毁功能是如何工作的?

Php 我能';我不明白销毁功能是如何工作的?,php,laravel,yajra-datatable,Php,Laravel,Yajra Datatable,我在老拉维尔项目工作,我必须修改现有的一个。所以我现在正在努力理解代码。该项目位于laravel和yajra数据表上。我不明白销毁功能是怎么工作的?在视图中,没有调用销毁功能,但当我单击删除按钮时,它仍在工作 控制器 public function loadSizes() { $sizes = Size::select(['id', 'name', 'code'])->get(); return DataTables::of($sizes) ->ad

我在老拉维尔项目工作,我必须修改现有的一个。所以我现在正在努力理解代码。该项目位于laravel和yajra数据表上。我不明白销毁功能是怎么工作的?在视图中,没有调用销毁功能,但当我单击删除按钮时,它仍在工作

控制器

public function loadSizes()
{
    $sizes = Size::select(['id', 'name', 'code'])->get();

    return DataTables::of($sizes)
        ->addColumn('action', function ($size) {
            return '<a href="' . url('/sizes/' . $size->id . '/edit') . '" class="btn btn-default edit_btn_styles" data-toggle="tooltip" data-placement="top" title="Update"><i class="fa fa-wrench" aria-hidden="true"></i></a>
                    <button type="button" data-id="' . $size->id . '" class="btn btn-default remove-size remove-btn" data-toggle="tooltip" data-placement="top" title="Delete"><i class="fas fa-trash-alt" aria-hidden="true"></i></button>';
        })
        ->rawColumns(['action'])
        ->make(true);
}

public function destory(Request $request)
{
    $result = Size::where('id', $request->input('size_id'))->delete();
    if ($result) {
        return "SUCCESS";
    } else {
        return "FAIL";
    }

}
公共函数loadSizes()
{
$Size=Size::select(['id','name','code'])->get();
返回DataTables::of($sizes)
->addColumn('action',函数($size){
返回'
';
})
->rawColumns(['action']))
->使(真实);
}
公共功能破坏(请求$Request)
{
$result=Size::where('id',$request->input('Size\u id'))->delete();
如果($结果){
返回“成功”;
}否则{
返回“失败”;
}
}
查看

@extends('layouts.sidebar')

@section('content')
<div class="row">
    <div class="col-sm-12 pad-main">
        <div class="row">
            <div class="col-md-6">
                <h4 class="cat-name"> Size List</h4>
            </div>
        </div>

        <div class="row">
            <div class="col-md-12 table-responsive pad-tbl">
                <table class="table table-striped" id="size_table">
                    <thead>
                    <tr>
                        <th scope="col"> Name</th>
                        <th scope="col"> Code</th>
                        <th scope="col"> Action</th>
                    </tr>
                    </thead>
                    <tbody>

                    </tbody>
                </table>
            </div>
        </div>
    </div>
</div>

@if (Session::has('action'))
    @if (Session::get('action') == "create")
        @if (Session::has('status_success'))
                    <script > showAlert("SUCCESS", "Size creation successful");</script >
        @elseif(Session::has('status_error')))
            <script > showAlert("FAIL", "Size creation fail");</script >
        @endif
    @elseif(Session::get('action') == "update")
        @if (Session::has('status_success'))
            <script > showAlert("SUCCESS", "Size update successful");</script >
        @elseif(Session::has('status_error')))
            <script > showAlert("FAIL", "Size update fail");</script >
        @endif
    @endif
@endif    

<script>
    $(document).ready(function () {
        $('#size_table').DataTable({
            language: {
                searchPlaceholder: "Search records"
            },
            "columnDefs": [
                {"className": "dt-center", "targets": "_all"}
            ],
            processing: true,
            serverSide: true,
            ajax: '{!! url(' / load - sizes') !!}',
            columns: [
                {data: 'name', name: 'name'},
                {data: 'code', name: 'code'},
                {data: 'action', name: 'action'},
            ]
        });
    });

    $(document.body).on("click", ".remove-size", function () {

        var size_id = $(this).data('id');
        showConfirm("DELETE", "Do you want to delete this Size ?", "deleteSize(" + size_id + ")");
    });

    function deleteSize(id) {
        $.ajax({
            type: 'get',
            url: '{!! url('delete-size') !!}',
            data: {size_id: id},
            success: function (data) {
                if (data == "SUCCESS") {
                    $('[data-id="' + id + '"]').closest('tr').remove();
                    showAlert("SUCCESS", "Delete Size successful");
                }
            }, error: function (data) {

                showAlert("FAIL", "Delete Size fail");
            }
        });
    }
</script>
@endsection

@extends('layouts.sidebar'))
@节(“内容”)
尺码表
名称
代码
行动
@if(会话::has('action'))
@if(Session::get('action')==“create”)
@if(会话::has('status_success'))
showAlert(“成功”,“大小创建成功”);
@elseif(会话::has('status_error'))
showAlert(“失败”、“大小创建失败”);
@恩迪夫
@elseif(会话::get('action')==“update”)
@if(会话::has('status_success'))
showAlert(“成功”,“大小更新成功”);
@elseif(会话::has('status_error'))
showAlert(“失败”、“大小更新失败”);
@恩迪夫
@恩迪夫
@恩迪夫
$(文档).ready(函数(){
$('size#u table')。数据表({
语言:{
搜索占位符:“搜索记录”
},
“columnDefs”:[
{“className”:“dt中心”,“目标”:“_all”}
],
处理:对,
服务器端:是的,
ajax:“{!!url('/load-size')!!}”,
栏目:[
{data:'name',name:'name'},
{数据:'code',名称:'code'},
{数据:'action',名称:'action'},
]
});
});
$(document.body)。在(“单击”、“.remove size”上,函数(){
var size_id=$(this).data('id');
showConfirm(“删除”、“是否要删除此大小?”、“删除大小”(+Size\u id+));
});
函数deleteSize(id){
$.ajax({
键入:“get”,
url:“{!!url('delete-size')!!}”,
数据:{size_id:id},
成功:功能(数据){
如果(数据=“成功”){
$(“[data id=“”+id+“]”)。最近('tr')。删除();
showAlert(“成功”、“删除大小成功”);
}
},错误:函数(数据){
showAlert(“失败”、“删除大小失败”);
}
});
}
@端部

在刀片视图的底部,
函数destory(id)
中有一个AJAX。 AJAX正在向一个URL
delete size
发送一个GET请求,该URL具有size id

现在,如果您在
web.php
文件中搜索该URL(位置-
routes/web.php
),您将发现如下内容:

Route::get('delete-size','SizeController@destory');

此路由将大小id发送到您的
destory
函数,该函数依次搜索数据库中的大小并将其删除。

//Controller
  //  Controller


 public function destroy($id)
    {
        Tag::find($id)->delete();
        Toastr::success('Tag Successfully Deleted',"Success");
        return redirect()->back();
    }
  //  Route

Route::group(['as'=>'admin.','prefix'=>'admin','namespace'=>'Admin','middleware'=>['auth','admin']], function (){

Route::resource('tag','TagController');

});

  //  HTML file

<form id="delete-form-{{ $tag->id }}" action="{{ route('admin.tag.destroy',$tag->id) }}" method="POST" style="display: none;">
    @csrf
     @method('DELETE')
     </form>
公共功能销毁($id) { Tag::find($id)->delete(); Toastr::success('Tag Successfully Deleted',“success”); 返回重定向()->back(); } //路线 路由::组(['as'=>'admin.','prefix'=>'admin','namespace'=>'admin','middleware'=>['auth','admin']],函数(){ 路由::资源('tag','TagController'); }); //HTML文件 @csrf @方法('DELETE')
哦,我知道了。非常感谢你。我对Datatable不太熟悉。为了清楚地理解datatable,我首先应该学习AJAX吗?