Один запрос на разбивку на страницы? с данными. js laravel - PullRequest
0 голосов
/ 29 мая 2020

В настоящее время у меня есть таблица с именем 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, когда пользователь пытается щелкнуть специфику c разбиение на страницы

1 Ответ

0 голосов
/ 29 мая 2020

Вы должны использовать разбиение на страницы , первый параметр, переданный в функцию 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...