Laravel 对数组上的成员函数getQuery()的调用
尝试在laravel中处理数据表: 错误:调用laravel datatables中数组上的成员函数getQuery() 这里是Laravel代码: 控制器:Laravel 对数组上的成员函数getQuery()的调用,laravel,datatable,Laravel,Datatable,尝试在laravel中处理数据表: 错误:调用laravel datatables中数组上的成员函数getQuery() 这里是Laravel代码: 控制器: public function get_all_course_requests() { $course_request = new CourseRequest(); $request_details = $course_request->get_all_course_requests();
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>';
}
}
]
});
});
$(函数(){
$('#课程_请求_表')。数据表({
处理:对,
服务器端:是的,
ajax:BASE_URL+'/get_course_requests',
订单:[],
栏目:[
{数据:“视图”,可排序:false,
呈现:函数(数据、类型、行){
返回“”;
}
},
{数据:'l_fname',名称:'l_fname'},
{数据:'l_lname',名称:'l_lname'},
{数据:'l_mail',名称:'l_mail'},
{data:'name',name:'name'},
{数据:'request_date',名称:'request_date'},
{数据:'action',可排序:false,
呈现:函数(数据、类型、行){
返回“”;
}
}
]
});
});
代码出了什么问题?如何解决这个问题?已解决:
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();
}
解决方案:使用
是否可以尝试在不使用datatable的情况下生成查询?