无法获取 user_id 值 Laravel 查询

问题描述

我无法使用数据表在视图页面调用 user_id,当我将 select('name') 更改为 select('user_id') 或 select('*') 时,它也显示错误 DataTables warning: table id=DataTables_Table_0 - Ajax error. For more information about this error,please see http://datatables.net/tn/7 Whats我的代码有问题吗?提前致谢

我有一个包含以下代码的控制器

public function TeamTask(Request $request)
    {
      
        if ($request->ajax()) {
            $data = DB::table('posts')->select('name')->selectraw('count(user_id) as total')->selectRaw('SUM(status = "Done") as done')->where('div',Auth::user()->div)->groupBy('name')->get();
            return Datatables::of($data)
                ->addColumn('action',function ($row) {

                    $btn = ' <a href="javascript:void(0)" data-toggle="tooltip"  data-id="' . $row->name . '" data-original-title="Detail" class="btn btn-success mr-1 btn-sm detailProduct"><span class="fas fa-info"></span></a>';

                    return $btn;
                })
                ->rawColumns(['action'])
                ->addindexColumn()
                ->make(true);
        }

        return view('task.teamTask',);
    }

我的观点

<script type="text/javascript">
    $(function() {

        $.ajaxSetup({
            headers: {
                'X-CSRF-TOKEN': $('Meta[name="csrf-token"]').attr('content')
            }
        });

        var table = $('.data-table').DataTable({
            processing: true,serverSide: true,ajax: "{{ route('team.task') }}",columns: [{
                    data: 'DT_RowIndex',name: 'DT_RowIndex',orderable: false,searchable: false,},{
                    data: 'name',name: 'name',{
                    data: 'user_id',name: 'user_id',{
                    data: 'total',name: 'total',{
                    data: 'done',name: 'done'
                },{
                    data: 'action',name: 'action'
                },]
        });

    });
</script>

我无法使用数据表在视图页面调用 user_id,当我将 select('name') 更改为 select('user_id') 或 select('*') 时,它也显示错误 DataTables warning: table id=DataTables_Table_0 - Ajax error. For more information about this error,please see http://datatables.net/tn/7 Whats我的代码有问题吗?提前致谢

解决方法

试试这个。

public function TeamTask(Request $request)
    {
      
        if ($request->ajax()) {
            $data = DB::table('posts')->select('name','user_id')->selectraw('count(user_id) as total')->selectRaw('SUM(status = "Done") as done')->where('div',Auth::user()->div)->groupBy('name')->get();
            return Datatables::of($data)
                ->addColumn('action',function ($row) {

                    $btn = ' <a href="javascript:void(0)" data-toggle="tooltip"  data-id="' . $row->name . '" data-original-title="Detail" class="btn btn-success mr-1 btn-sm detailProduct"><span class="fas fa-info"></span></a>';

                    return $btn;
                })
                ->rawColumns(['action'])
                ->addIndexColumn()
                ->make(true);
        }

        return view('task.teamTask',);
    }
,

在您的查询中添加 ->groupBy('user_id'),这应该可以解决您的问题

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...