2016-11-30 1 views
0

컬렉션이있는 서버 측 데이터 테이블에 yajra 데이터 테이블을 사용합니다. 페이지를 처음로드 할 때 데이터가 입력됩니다. 그러나 다음 페이지 또는 페이지> 1 데이터를 사용할 수 없습니다. 내 쿼리에서 한계 및 오프셋을 사용합니다. 내 컨트롤러가데이터 테이블 및 오프셋 문제

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

나는 데이터를 가져 오지만 데이터 테이블 데이터 인덱스에 포함되지 않은 콘솔을 보았습니다. 이 내 자바 스크립트 (jQuery를) 코드 :

VAR oTable = $ ('# 주문 테이블') DataTable을 ({ 처리 :. 사실, 서버 측 : 사실, 아약스 : {

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