2016-07-01 71 views
1

我知道如何在laravel視圖中從數據庫返回的記錄創建分頁,但需要從API返回的結果創建相同的分頁。如何在laravel 5.2中創建API返回結果的自定義分頁?

我有一個有50萬條記錄的api。但一次只能返回最多500條記錄。我可以將該值設置爲低於500,但不超過單個API調用中的值。我也有由api返回的全部記錄。

我想創建一個每頁50個結果的分頁。任何人都可以在laravel 5.2中使用刀片模板或jQuery提供代碼。

API調用返回:

總計結果發現 - 456個789

總記錄返回 - 500或更少

Array 
(
    [response] => Array 
     (
      [metaData] => Array 
       (
        [resultsAvailable] => 228246 
        [resultsReturned] => 500 
        [firstResult] => 1 
        [lastResult] => 500 

        )     

     [results] => Array 
      (
       [0] => Array 
        (
         [0] => 100000 
         [1] => 1 
         [2] => 14327 
         [3] => 5 
         [4] => 3 
         [5] => 2014-02-18T07:40:23.000Z 
         [6] => 4 
         [7] => 390770731738-385691128026 
         [8] => 1 
         [9] => 2014-02-20T20:51:56.000Z 
         [10] => 0 
        ) 

       [1] => Array 
        (
         [0] => 100001 
         [1] => 1 
         [2] => 14328 
         [3] => 5 
         [4] => 3 
         [5] => 2014-02-18T08:20:56.000Z 
         [6] => 4 
         [7] => 026-2336690-3199543 
         [8] => 1 
         [9] => 2014-02-20T20:51:55.000Z 
         [10] => 0 
        ) 
....... 



       [499] => Array 
        (
         [0] => 100511 
         [1] => 1 
         [2] => 14688 
         [3] => 5 
         [4] => 3 
         [5] => 2014-02-20T19:35:00.000Z 
         [6] => 4 
         [7] => 205-0866154-3716348 
         [8] => 1 
         [9] => 2014-02-20T20:46:45.000Z 
         [10] => 0 
        ) 

      ) 

    ) 
+0

請提供您的代碼。控制器和相應的視圖將是一個好的開始。 –

+1

[請參閱我的答案](http://stackoverflow.com/a/37960470/1206267),其中詳細解釋瞭如何對任何數組進行分頁。 – Ohgodwhy

+0

@Ohgodwhy不是我在找什麼。 –

回答

3

您需要添加使用:

use Illuminate\Pagination\LengthAwarePaginator as Paginator; 

和現在你可以使用:

$paginator = new Paginator($items, $count, $limit, $page, [ 
      'path' => $this->request->url(), 
      'query' => $this->request->query(), 
     ]); 

以與在模型對象上分頁相同的格式獲取數據;

+0

我必須修改這個我的使用,但我得到的想法LengthAwarePaginator –

+0

我也使用相同的。但是我只獲得了部分網址,就像'/ page = 2'。使用paginate()時,我得到完整的URL。此外,我沒有得到以前的網址。 –

相關問題