2016-03-26 12 views
1

データベースとしてMySqlを使用して、laravel 5.2でサーバー側のデータ型をサポートするyajra/laravel-datatables-oracle "〜6.0"パッケージをインストールしました。 は、私は、ユーザーのデータテーブルを表示しようとしている:Laravel deosnt用Yajra Datatablesパッケージがlaravelで正しく動作する5.2

//routes.php 
Route::group(['middleware' => ['web'], 'prefix' => 'user'], function() { 
    Route::get('/index', '[email protected]')->name('user.index'); 
}); 

、ここでは私のコントローラです:

//UserController.php 
public function index() 
{ 
    return view('user.index'); 
} 

public function indexData() 
{ 
    $users = User::select(['id', 'name', 'email', 'created_at', 'updated_at'])->get(); 
    return Datatables::of($users)->make(); 
} 

ビュー:

// user\index.blade.php 
@extends('layouts.base') 

@section('additional_styles') 
    <link rel="stylesheet" href="//cdn.datatables.net/1.10.7/css/jquery.dataTables.min.css"> 
@endsection 

@section('additional_scripts') 
    <!-- DataTables --> 
    <script src="//cdn.datatables.net/1.10.7/js/jquery.dataTables.min.js"></script> 
    <script> 
     $('#users-table').DataTable({ 
      "processing": true, 
      "serverSide": true, 
      "ajax": '{!! route('user.index') !!}', 
      "columns": [ 
       {data: 'id', name: 'id'}, 
       {data: 'name', name: 'name'}, 
       {data: 'email', name: 'email'}, 
       {data: 'created_at', name: 'created_at'}, 
       {data: 'updated_at', name: 'updated_at'} 
      ] 
     }); 
    </script> 
@endsection 


@section('main-content') 
    <div class="container"> 
     <div class="row"> 
      <div class="col-md-10 col-md-offset-1"> 
       <div class="panel panel-default"> 
        <div class="panel-body"> 
         <table class="table table-bordered" id="users-table"> 
          <thead> 
          <tr> 
           <th>Id</th> 
           <th>Name</th> 
           <th>Email</th> 
           <th>Created At</th> 
           <th>Updated At</th> 
          </tr> 
          </thead> 
         </table> 
        </div> 
       </div> 
      </div> 
     </div> 
    </div> 
@endsection 

が、データテーブルが正常に動作しません。データをレンダリングする処理が行われた後、レスポンスに無効なJSON形式があり、datatables.net/tn/1と表示されるという警告が表示されます。私は応答を見るためにクロムの開発者ツールを見ようとしましたが、私はcouldntです!

問題についてのご意見はありますか?

+0

この問題は、あまりにも私に起こりました –

答えて

0

今laravel 5.2.31での作業、

`  Route 
    Route::get('datatables',['uses'=>'[email protected]', 'as' => 'datatables']); 
    Route::get('datatables/{data}',['uses'=>'[email protected]', 'as' => 'datatables.data']); 

    Controller 
     public function anyData() 
     { 
      $users = User::select(['id', 'name', 'email', 'created_at', 'updated_at'])->get(); 
     return Datatables::of($users)->make(); 
     } 

    JS 
    $('#users-table').DataTable({ 
      processing: true, 
      serverSide: true, 
      ajax: '{!! url('datatables/data') !!}' 
     });`