2016-11-30 6 views
0

Я использую таблицы данных yajra для серверных данных с коллекцией. Когда я загружаю страницу в первый раз, данные поступают. Но когда я нажимаю на , следующая страница или страница> 1 данных нет. Я использую ограничение и смещение в моем запросе. Мой контроллер этоDatatable limit and offset issue

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); 
    } 

Я видел консоль, которая получает данные, но не встроена в индекс данных таблиц данных. Это мой Javascript (Jquery) код:

вар OTABLE = $ ('# заказа столов') DataTable ({ обработка:. Правда, ServerSide: правда, Аякса: {

 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' } 

    ] 
}); 

ответ

0

Попробуйте этот код:

var oTable = $('#orders-table').DataTable({    
    dom: "<'row'<'col-xs-12'<'col-xs-6'l><'col-xsvalidation-6'p>>r>" + 
      "<'row'<'col-xs-12't>>" + 
      "<'row'<'col-xs-12'<'col-xs-6'i><'col-xs-6'p>>>", 
    processing: true, 
    serverSide: true, 
    pageLength: 25, 
    order: [[0, "desc"]], 
    ajax: { 
     url: SITE_URL+'filterfetch/orders', 
     data: function (d) { 
      //d.name = $('input[name=name]').val(); 
     } 
    }, 
    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' } 
    ], 
    aoColumnDefs: [{'bSortable': false, 'aTargets': [1, 2, 3, 4]}] 
});