2017-04-25 23 views
0

私のパッケージにこのパッケージhttps://github.com/yajra/laravel-datatablesを追加しました。私は自分のアプリケーションでこれを使用しようとしています。Laravel 5.4 with datatables

これは図

@section('content') 
    <table class="table table-bordered" id="users-table"> 
     <thead> 
      <tr> 
       <th>Emp No</th> 
       <th>Birth Date</th> 
        <th>First Name</th> 
        <th>Last Name</th> 
        <th>Gender</th> 
        <th>Hire Date</th> 

      </tr> 
     </thead> 
    </table> 
@stop 

@push('scripts') 

<script type="text/javascript"> 
$(function() { 
    $('#users-table').DataTable({ 
     processing: true, 
     serverSide: true, 
     responsive: true, 
     ajax: 'http://localhost:8000/tasks', 
     columns: [ 
      { data: 'emp_no', name: 'emp_no' } 
      { data: 'birth_date', name: 'birth_date' }, 
      { data: 'first_name', name: 'first_name' }, 
      { data: 'last_name', name: 'last_name' }, 
      { data: 'gender', name: 'gender' }, 
      { data: 'hire_date', name: 'hire_date' } 
     ] 
    }); 
}); 
</script> 

@endpush 
@endsection 

これは、これは、このコードはDataTableのをcontaininingビューをロードコントローラ

public function getTasks() 
    { 
     return Datatables::of(Employees::query())->make(true); 
     //returns json 
    } 

ある経路

Route::get('tasks', '[email protected]')->name('datatable.tasks'); 

です。

URL http://localhost:8000/tasksは、Webブラウザでjsonを返しますが、データビューアーは決して私のビューでレンダリングされません。私の見解をチェックすると、ブラウザのエラーはありません。

何が問題なのですか。

答えて

0

私たちのデータテーブルajaxリクエストを処理するビューと他のメソッドを表示する2つのメソッドを作成します。

public function viewTasks() 
{ 
    return view('Tasks.index'); 
} 

プロセス当社のDataTableのAjaxリクエスト

public function getTasks() 
{ 
    return Datatables::of(Employees::query())->make(true); 
} 

参考リンク私たちのビューの表示: - Yajra Datatable

+0

をブートストラップすること'Route :: get(' bulkOutbox '、' PrototypeController @ bulkOutbox ');' 'を表示し、もう1つはajaxリクエストを処理する 'Route :: get(' tasks '、' PrototypeController @ getTasks ') - > name( 'dat ' –

+0

このビューをレンダリングし、そのURLを実行する最初のbulkOutbox http:// localhost:8000/bulkOutbox –

+0

まずbulkOutboxをロードしていて、何も表示しません。 mysqlサンプルデータベースがインストールされている場合は、それをテストすることができます。 –

0

あなたのコントローラに変更する必要があります。新しいルートを追加するために

public function task() 
    { 
     return view('datatables.Index'); 
    } 

変更ファイルweb.php中:データテーブルを示すために以下のコードを追加します

Route::get('employee','[email protected]'); 

データテーブルCDNを追加し、私はすでに、コントローラを持っても

<link href="https://datatables.yajrabox.com/css/app.css" rel="stylesheet"> 
    <link href="https://datatables.yajrabox.com/css/datatables.bootstrap.css" rel="stylesheet"> 
    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,300|Open+Sans:400,600,700,800' rel='stylesheet' 
      type='text/css'> 
+0

そして、私はあなたがブレードファイルを変更すべきだと思います。 '@紀元前'は '@sctipt'の前で止まるからです。 master.blade.phpを作成した場合..ありがとう –