如何使用表格形式的Laravel加载更多数据

时间:2017-10-06 12:28:44

标签: datatables laravel-5.3

我每天有500行的每日数据,我必须以表格形式显示4年的数据。我正在使用Laravel并将输出放在Datatable中。 数据本身挂在ajax数据中。 如何进行此操作,以便我可以轻松地以某些块(分页)显示数据? 请提供一些示例链接。

1 个答案:

答案 0 :(得分:3)

我通常使用laravel数据表来执行此类任务。它直截了当,让您免受压力。 https://github.com/yajra/laravel-datatables

 public  static function user_list(){

        $users = User::select(['id','name', 'email','created_at'])->with('profile')->get();
        return Datatables::of($users)

            ->addColumn('roles', function ($users){
                return $users->roles->values()->implode('name',',');
            })
            ->addColumn('Phone', function ($users){

                   return $users->phone;
               }
            })

            ->addColumn('Sex', function ($users){
                return $users->sex
            })
            ->addColumn('Edit', function ($users){
            return $users->id;
            })
            ->addColumn('Delete', function ($users){
                return $users->id;
            })



            ->make();

    }

在我看来

 <script>
                $(document).ready(function () {
                    var table = $('#datatable').DataTable({
                        processing: true,
                        serverSide: true,
                        ajax: '{!! url('user/datatable/list') !!}',
                        "lengthMenu": [[50, 100, 500, 1000, -1], [50, 100, 500, 1000, "All"]],

                        dom: 'Bfrtip',
                        buttons: [
                             'excel', 'pdf', 'print',
                            'copyHtml5',
                            'excelHtml5',
                            'csvHtml5',
                            'pdfHtml5',
                            'colvis'
                        ],
                        'columnDefs': [{
                            'targets': 0,
                            'searchable': false,
                            'orderable': false,
                            'className': 'dt-body-center',
                });

            </script>