2017-01-01 1 views
0

私たちは新しいプロジェクトでデータテーブルを使用しています。データの量が多いため、サーバー側のデータテーブル処理を使用しています。現在、我々はすべてのデータを取得する方法を見つけようとしています。私はカスタムHTTP変数のサーバー側の処理を使用して、私は戻ってきたデータを見て、データベースから来る値はありません。どのようにデータにアクセスできますか?助けてください。どうもありがとう。ここに私のコードLaravel 5.2で実行可能なdatatableサーバー側のjsonオブジェクト/データへのアクセス方法は?

ジャバスクリプトである:

$('#table-prod-contents').DataTable({ 
       processing: true, 
       serverSide: true, 
       ajax: $.fn.dataTable.pipeline({ 
        url: '{{ url("postproductsdata") }}', 
        pages: 6000, // number of pages to cache 
        "data": function (d) { 
        console.log(d); 
        } 
       }), 
       columns: [ 
        {data: 'id', name: 'id'}, 
        {data: 'category', name: 'category'}, 
        {data: 'pharmaceutical', name: 'pharmaceutical'}, 
        {data: 'description', name: 'description'}, 
        {data: 'type', name: 'type'}, 
        {data: 'unit', name: 'unit'}, 
        {data: 'price', name: 'price'}, 
        {data: 'created_at', name: 'created_at'}, 
       ], 


      }); 

コンソールは、ログのみを以下の図に示すデータを示す:

enter image description here

enter image description here

オブジェクトの内部を見ると、IDの値はありません。 IDのような何か:31

Controller.php

public function anyData() 
{ 
    $conditionTxt = "Medical and Lab Supplies"; 

    $products = Product::where('category', 'ILIKE', '%'.$conditionTxt.'%') 
         ->orderBy('created_at', 'desc') 
         ->get(); 

    return Datatables::of($products)->make(true); 

} 

答えて

2

オプションajax.dataそれはサーバにを送られる前のデータを操作する関数を定義することができます。

あなたはデータへのアクセスを得るためにajax.dataSrcを使用することができますが、しかし、あなたはまた、そのことはできませんpipeliningを使用している、サーバーからを受けました。

ajax.json() APIメソッドとともに、検索されたデータにアクセスするか、createdRowオプションまたはxhr.dtイベントのいずれかを使用してください。例えば

$('#table-prod-contents').DataTable({ 
    processing: true, 
    serverSide: true, 
    ajax: $.fn.dataTable.pipeline({ 
     url: '{{ url("postproductsdata") }}', 
     pages: 6000, // number of pages to cache 
     "data": function (d) { 
      console.log(d); 
     } 
    }), 
    drawCallback: function(settings){ 
     var api = this.api(); 

     console.log(api.ajax.json()); 
    }, 
    columns: [ 
     {data: 'id', name: 'id'}, 
     {data: 'category', name: 'category'}, 
     {data: 'pharmaceutical', name: 'pharmaceutical'}, 
     {data: 'description', name: 'description'}, 
     {data: 'type', name: 'type'}, 
     {data: 'unit', name: 'unit'}, 
     {data: 'price', name: 'price'}, 
     {data: 'created_at', name: 'created_at'}, 
    ], 
}); 
関連する問題