I use yajra data tables for server-side datatables with collection. When I load the page the first time, data comes in. But when I click on next page or page >1 no data is available. I use limit and offset in my query. My controller is this
public function getorderslist(Request $request)
{
$requestData = $request->all(); /////all request data.
$finalArrary = $this->orderlistfunction($request);
$allordersData = new Collection($finalArrary['finalArrary']);
$totalrecords = $finalArrary['totalrecords'];
return Datatables::of($allordersData)->with(['recordsTotal'=>$totalrecords ,'recordsFiltered'=> $totalrecords])->make(true);
}
I have seen the console that gets data, but not embedded in the data-tables data index. This my Javascript(jQuery) code:
var oTable = $('#orders-table').DataTable({ processing: true, serverSide: true, ajax: {
url: SITE_URL+'filterfetch/orders',
data: function (d)
{
d.orderstatus ='pending';
// d.length =100;
//d.event_id=$('input[name=event_id]').val();
var dt_params = $('#orders-table').data('dt_params');
// Add dynamic parameters to the data object sent to the server
if(dt_params)
{
//alert(dt_params);
$.extend(d, dt_params);
}
}
},
"order": [[ 1, "desc" ]],
columns: [
{ data: 'date', name: 'date' },
{ data: 'eventname', name: 'eventname' },
{ data: 'orderid', name: 'orderid' },
{ data: 'attempts', name: 'attempts' },
{ data: 'name', name: 'name' },
{ data: 'email', name: 'email' },
{ data: 'mobile', name: 'mobile' },
{ data: 'quantity', name: 'quantity' },
{ data: 'amount', name: 'amount' },
{ data: 'action', name: 'action' },
{ data: 'called', name: 'called' }
]
});