【问题标题】:Single query per pagination? datatable.js laravel每个分页单个查询?数据表.js laravel
【发布时间】:2020-05-29 15:28:46
【问题描述】:

目前我有一个名为tblOrders的表

这样的查询

 public function getIndex()
 {

    $cart = Cart::orderby('cart_date','DESC')
    ->orderby('cart_no','DESC')
    ->select('id','cart_no','client_id','cart_title')->limit(1000)->get();

    return View::make('_admin.orders.orders', compact('cart'));

 }

在我的刀片文件中,我有这个 datatable.js

  <table id="table-order" class="parennt-table uk-table-hover">
  <thead>
        <tr>
             <th>id</th>
             <th>cart_no</th>
             <th>cart_title</th>
             <th>cart_date</th>
        </tr>
  </thead>

  <tbody>
       @if(count($orderData))
       @foreach ($orderData as $field)
       <tr>
          <td>{{ $field->id }}</td>
          <td>{{ $field->cart_no }}</td>
          <td>{{ $field->cart_title }}</td>
          <td>{{ date('M j, Y',strtotime($field->cart_date)) }}</td>
       </tr>

       @endforeach
       @endif

  </tbody>

和我的 js 一样

  <script>
    oTable = $('#table-order').DataTable({
     "order": [[ 0, 'desc' ]]
   });
  </script>

此数据表加载 8k 行。但需要将其限制为 1000 行

如何每页只加载 20 行?并在用户尝试点击特定分页时查询下一个 1

【问题讨论】:

  • 每个请求可以加载 20 个数据表,datatables.net/examples/server_side/simple.html 你只需要遵循数据表如何查询每个页面并使用变量,并相应地调整 php 端点,因为你使用的是 laravel
  • 你可以使用 laravel paginate https://laravel.com/docs/7.x/pagination 但你需要将 laravel paginate 与 datatable.js 链接起来,这并不难。

标签: javascript php jquery laravel


【解决方案1】:

你应该使用pagination,传递给paginate()函数的第一个参数是返回的结果数。

 public function getIndex()
 {

    $cart = Cart::orderby('cart_date','DESC')
    ->orderby('cart_no','DESC')
    ->select('id','cart_no','client_id','cart_title')
    ->paginate(50);

    return View::make('_admin.orders.orders', compact('cart'));

 }

不过,我不建议你使用 1000 这么高的数字,而是使用更合理的数字来减少页面加载和渲染时间。

无论如何,使用DataTables我建议你安装这个包yajra/laravel-datatables

【讨论】:

    猜你喜欢
    • 2015-04-27
    • 2016-08-27
    • 2015-09-04
    • 2018-10-03
    • 1970-01-01
    • 1970-01-01
    • 2018-06-28
    • 2016-12-09
    • 2016-12-20
    相关资源
    最近更新 更多