在数组上调用成员函数getQuery()

时间:2016-02-20 06:38:04

标签: laravel datatable

尝试使用laravel中的数据表:

错误: 在laravel数据表中调用数组上的成员函数getQuery()

这是Laravel代码: 控制器:

public function get_all_course_requests() {
        $course_request = new CourseRequest();
        $request_details = $course_request->get_all_course_requests();
        $i = 0;
        foreach ($request_details as $request) {
            $request_details[$i]->sr_no = $request->id;
            $request_details[$i]->l_fname = $request->l_fname;
            $request_details[$i]->l_lname = $request->l_lname;
            $request_details[$i]->l_mail = $request->l_mail;
            $request_details[$i]->name = $request->name;
            $request_details[$i]->request_date = $request->request_date;
            $request_details[$i]->action = $request->id;
            $i++;
        }
        return Datatables::of($request_details)
                        ->filterColumn('l_fname', 'l_lname', 'name','course_name','request_date')
                        ->make(true);
    }

型号:

function get_all_course_requests($status='0') {
      //  DB::enableQueryLog();
        $course_request = new CourseRequestModel;
        $my_team_ids = $course_request->get_my_team_learner_ids();
       return  DB::table('course_request')               
                ->select('login_details.l_fname','login_details.l_lname','login_details.l_mail','course_request.id','multilevel_course.name','course_request.request_date')
                ->whereIn('login_details.l_id', $my_team_ids)
                ->where('course_request.status', $status)
                ->join('login_details', 'login_details.l_id','=', 'course_request.user_id')
                ->join('multilevel_course', 'multilevel_course.id','=','course_request.course_id')
                ->whereIn('enrollment_policy',array('2','3') )
                ->get();

    }

这是JS代码:

$(function() {
    $('#course_requests_table').DataTable({
        processing: true,
        serverSide: true,
        ajax: BASE_URL + '/get_course_requests',
        order: [],
        columns: [
            {data: "view", orderable: false,
                render: function(data, type, row) {
                    return '<input type="checkbox" class="case" name="row_ids[]" value="' + data + '">';
                }
            },
            {data: 'l_fname', name: 'l_fname'},
            {data: 'l_lname', name: 'l_lname'},
            {data: 'l_mail', name: 'l_mail'},
            {data: 'name', name: 'name'},
            {data: 'request_date', name: 'request_date'},
            {data: 'action', orderable: false,
                render: function(data, type, row) {
                    return '<a style="cursor:pointer" OnClick="delete_mail(' + data + ')"><i class="fa fa-trash"></i></a>';
                }
            }
        ]
    });
});

代码出了什么问题?以及如何解决这个问题呢?

1 个答案:

答案 0 :(得分:6)

<强>解决:

解决方案:使用collect()

将数组转换为Collection
5 + 1 = 6