无法在查询构建器 yajra 数据表 Laravel 中使用 get() 方法

问题描述

enter image description here

我有显示用户任务的数据表。我已经为 KPI 表创建了过滤器来显示特定的 KPI(是或否)。问题是当我使用 get() 方法时,我无法使用下拉列表进行过滤,如果我使用 latest() $data = Post::where('user_id',Auth::user()->uid)->latest(); 替换 get() 或将其删除 $data = Post::where('user_id',Auth::user()->uid);,我的数据表无法排序表头中带有排序按钮的数据。这是我的代码

我的控制器

public function MyTask(Request $request)
    {

        if ($request->ajax()) {

            $data = Post::where('user_id',Auth::user()->uid)->get();
            return Datatables::of($data)
                ->addIndexColumn()
                ->addColumn('action',function ($row) {
                   ...
                })->addColumn('target_selesai',function ($row) {
                  ...
                })->addColumn('kpi',function ($row) {
                   ...
                })->addColumn('progress',function ($row) {
                   ...
                })->addColumn('status',function ($row) {
                   ...
                })->filter(function ($instance) use ($request) {
                    if ($request->get('kpi') == '0' || $request->get('kpi') == '1') {
                        $instance->where('kpi',$request->get('kpi'));
                    }
                    if (!empty($request->get('search'))) {
                        $instance->where(function ($w) use ($request) {
                            $search = $request->get('search');
                            $w->orWhere('title','LIKE',"%$search%")
                                ->orWhere('content',"%$search%")
                                ->orWhere('target_selesai',"%$search%")
                                ->orWhere('status',"%$search%")
                                ->orWhere('target',"%$search%")
                                ->orWhere('realisasi',"%$search%");
                        });
                    }
                })->rawColumns(['action','progress','status'])
                ->make(true);
        }

        return view('task.mytask');
    }

我的观点

 var table = $('.data-table').DataTable({
                paging: true,info: true,autoWidth: false,responsive: true,columnDefs: [{
                        "targets": [0,2,3,4,5,6],"className": "text-center",},],processing: true,serverSide: true,ajax: {
                    url: "{{ route('my.task') }}",data: function(d) {
                        d.kpi = $('#filter-kpi').val(),d.search = $('input[type="search"]').val()
                    }
                },// a
                columns: [{
                     ...
                ]
            });
   $('#filter-kpi').change(function() {
                table.draw();
            });

我的代码有问题吗?或者我应该使用其他方法?提前致谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...