再会。我想在数据表中显示我的数据,但遇到错误调用数组上的成员函数 getQuery()。
我是 laravel 和这个 yajra 库的新手。希望有人能帮我解决这个错误。
这是我的ajax。它会将 level_id 和 level 传递给我的控制器,然后如果匹配则返回查询结果。
//GENERAL
var $i=0;
var level_id = '{{ @$level->id }}';
var level = '{{ @$_level }}';
var viewStudent
function view_students($this){
viewStudent
if ($('#viewStudent-div').is(':hidden')) {
$(".sidebar .menus").removeClass("active");
$($this).addClass("active");
$('#viewStudent-div').siblings().hide('slow/400/fast', function() {
$('#viewStudent-div').show('slow/400/fast');
});
}
}
$(function(){
viewStudent = $('#viewStudent-table').DataTable({
order: [[ 0, "asc" ]],
Language: {
sLoadingRecords:"<img src='{{asset('assets/images/load.gif')}}' style='max-height:30px;'/> Fetching data...",
sEmptyTable: "No data available"
},
ajax:{
url:'{{ route("json_product_user") }}',
data: function (d) {
d.level_id = level_id;
d.level = level;
}
},
columnDefs: [
{
targets: 0,
searchable:false,
orderable:false,
},
],
columns:[
{
data: "full_name",
render: function(data, type, row){
return data;
}
},
{
data: "product_name",
render: function(data, type, row){
var html = '';
html += '<p style="">'+data+'</p>';
return html;
}
},
{
data: "level",
render: function(data, type, row){
return data;
}
},
{
data: "date_purchase",
render: function(data, type, row){
var html = '';
html += '<p style="text-align: center">'+moment(data).format('MMM-DD-YYYY')+'</p>';
return html;
}
}
]
});
});
这是我的控制器
public function viewStudents(Request $request)
{
if( $request->has('level_id') ){
if($request->level == 'school') {
$query = DB::table('product_user')
->leftJoin('products', 'product_user.product_id', '=', 'products.id')
->leftJoin('school_products', 'product_user.product_id', '=', 'school_products.product_id')
->leftJoin('users', 'product_user.user_id', '=', 'users.id')
->whereRaw("school_products.school_id = " . $request->level_id . " OR products.organization_id = ".$org_id)
->select('products.name as product_name', DB::raw('CONCAT(users.last_name, ", ", users.first_name ) AS full_name'), 'product_user.created_at', 'products.level as level')
->get();
}
else{
$query= DB::table('product_user')
->leftJoin('products', 'product_user.product_id', '=', 'products.id')
->leftJoin('school_products', 'product_user.product_id', '=', 'school_products.product_id')
->leftJoin('users', 'product_user.user_id', '=', 'users.id')
->whereRaw("products.level = 'organization' AND products.organization_id = ".$request->level_id)
->select('products.name as product_name', DB::raw('CONCAT(users.last_name, ", ", users.first_name ) AS full_name'), 'product_user.created_at', 'products.level as level')
->get();
}
}
// return $query;
return Datatables::of($query)->make(true);
}