如何在laravel 5.2中为API返回结果创建自定义分页?

时间:2016-07-01 06:15:07

标签: php jquery laravel pagination laravel-5.2

我知道如何在laravel视图中从数据库返回的记录创建分页,但是需要从API返回的结果中创建相同的分页。

我有一个有50万条记录的api。但它一次只返回最多500条记录。我可以将值设置为低于500但不超过单个api调用中的值。我也有api返回的总记录。

我想为每页创建50个结果的分页。任何人都可以使用刀片模板或jquery在laravel 5.2中为此提供代码。

Api Call返回:

找到的总结果 - 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
                    )

            )

    )

1 个答案:

答案 0 :(得分:4)

您需要添加用途:

use Illuminate\Pagination\LengthAwarePaginator as Paginator;

现在你可以使用:

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

以与模型对象上的分页相同的格式获取数据;