【问题标题】:HOW TO MAKE DELETE IN DATABALES YAJRA laravel 8如何在数据表中删除 YAJRA laravel 8
【发布时间】:2021-11-24 13:26:06
【问题描述】:

如何在 yajra 数据表中进行删除 这是我的索引控制器

 public function index(Request $request)
    {
        // $list_user = User::all();
        if($request->ajax()){
            $user = User::latest()->get();
            return datatables()->of($user)
                    ->addIndexColumn()
                    ->addColumn('action', function (User $user){
                        $actionBtn = '<a href="'.route('user.edit',$user->id).'" title="Edit User" class="btn btn-sm" style="color: #fff;background-color: #3DCB3A;border-color: #8ad3d3"> <i class="fa fa-edit"></i> </a> 
                        <a href="'.route('user.destroy',$user->id).'" class="btn btn-danger btn-sm" title="Hapus User" onclick="hapusUsers('.$user->id.')"><i class="fa fa-trash "></i></a>';
                        return $actionBtn;
                    })
                    ->rawColumns(['action'])
                    ->make(true);
            }
        return view('dashboard.user.user');
        // return response()->json($list_user);
    }
}

这是我的销毁控制器

public function destroy($id)
    {
        if($id==1){return redirect()->back();}
        $user = User::findOrfail($id);
        $user->delete();
        return response()->json(['messege'=>'success'],200);
    }

我认为这个 javascript

@push('javascripts')
<script type="text/javascript">
   $(function () {
    
    var table = $('.yajra-datatable').DataTable({
          processing  : true,
          serverSide : true,
          ajax :"{{route('user.index')}}",  
          columns: [
                {data: 'DT_RowIndex', name: 'DT_RowIndex'},
                {data: 'name', name:'name'},
                {data: 'username', name:'username'},
                {data: 'email', name:'email'},
                {data: 'action', name: 'action', orderable: false, searchable: false},
                  ],
        });
    } );
</script>
@endpush

我只想删除,但我不知道在控制器中执行此操作可以修复我的控制器吗

【问题讨论】:

标签: javascript laravel datatables resources laravel-8


【解决方案1】:

我用警报修复按钮删除

这个 Http/Controllers/UserController.php

    public function index(Request $request)
    {
        // $list_user = User::all();
        if($request->ajax()){
            $user = User::latest()->get();
            return datatables()->of($user)
                    ->addIndexColumn()
                    ->addColumn('action', function (User $user){
                        $actionBtn = '<a href="'.route('user.edit',$user->id).'" title="Edit User" class="btn btn-sm" style="color: #fff;background-color: #3DCB3A;border-color: #8ad3d3"> <i class="fa fa-edit"></i> </a> 
                        <a href="javascript:void(0)" class="btn btn-danger btn-sm" title="Hapus User" onclick="hapus('.$user->id.')" ><i class="fa fa-trash "></i></a>';
                        return $actionBtn;
                    })
                    ->rawColumns(['action'])
                    ->make(true);
            }
        return view('dashboard.user.user');
        // return response()->json($list_user);
    }

这是资源/views/dashboard/user/user.blade.php 将此添加到顶部@section

@push('stylesheets')
  <link rel="stylesheet" href="{{asset('assets/plugins/sweetalert2-theme-bootstrap-4/bootstrap-4.min.css')}}">
@endpush

并将其添加到底部

@push('javascripts')
<script src="{{asset('assets/plugins/sweetalert2/sweetalert2.min.js')}}"></script>
<script type="text/javascript">
   $(function () {
    
    var table = $('.yajra-datatable').DataTable({
          processing  : true,
          serverSide : true,
          ajax :"{{route('user.index')}}",  
          columns: [
                {data: 'DT_RowIndex', name: 'DT_RowIndex'},
                {data: 'name', name:'name'},
                {data: 'username', name:'username'},
                {data: 'email', name:'email'},
                {data: 'action', name: 'action', orderable: false, searchable: false},
                  ],
        });
    } );
    function hapus(e) {
    var url = '{{ route("user.destroy", ":id") }}';
        url = url.replace(':id', e);
    $.ajaxSetup({
    headers: {
    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
    });
      Swal.fire({
          title             : "Apakah Anda Yakin ?",
          text              : "Data Yang Sudah Dihapus Tidak Bisa Dikembalikan!",
          icon              : "warning",
          showCancelButton  : true,
          confirmButtonColor: "#3085d6",
          cancelButtonColor : "#d33",
          confirmButtonText : "Ya, Tetap Hapus!"
      }).then((result) => {
          if (result.value) {
              $.ajax({
                  url    : url,
                  type   : "delete",
                  success: function(data) {
                    $('.yajra-datatable').DataTable().ajax.reload();
                  }
              })
          }
      })
  }
</script>
@endpush

【讨论】:

    【解决方案2】:

    用这个替换你的控制器并检查:

    public function index(Request $request)
        {
            // $list_user = User::all();
            if($request->ajax()){
                $user = User::latest()->get();
                return datatables()->of($user)
                        ->addIndexColumn()
                        ->addColumn('action', function (User $user){
                            $actionBtn = '<a href="'.route('user.edit',$user->id).'" title="Edit User" class="btn btn-sm" style="color: #fff;background-color: #3DCB3A;border-color: #8ad3d3"> <i class="fa fa-edit"></i> </a> 
                            <a href="'.route('user.destroy',$user->id).'" class="btn btn-danger btn-sm" title="Hapus User" ><i class="fa fa-trash "></i></a>';
                            return $actionBtn;
                        })
                        ->rawColumns(['action'])
                        ->make(true);
                }
            return view('dashboard.user.user');
            // return response()->json($list_user);
        }
    }
    

    【讨论】:

    • 仍未删除
    • 你能检查一下里面显示的是什么
    猜你喜欢
    • 2016-09-04
    • 2019-03-29
    • 2023-03-05
    • 2019-02-15
    • 1970-01-01
    • 2021-12-07
    • 2021-09-20
    • 2021-10-22
    • 2019-07-17
    相关资源
    最近更新 更多