配列にページネーターを実装

DBのコレクションに対しては簡単にページネーターをつけれたが任意の配列を表示するときにページネーターをつけたいときこんなクラスがあった。

LengthAwarePaginator

 

use Illuminate\Pagination\LengthAwarePaginator;


public function Hoge(Request $request, array $result, int $perPage)
    {
        $displayData = array_chunk($result, $perPage);
        $currentPageNo = $request->input('page', 1);

        $pagination = new LengthAwarePaginator(
            $displayData[$currentPageNo - 1],
            count($result),
            $perPage,
            $currentPageNo,
            array('path' => $request->url())
        );

        return $pagination;
    }

 

参考ページ

https://qiita.com/t_n/items/1c9a239da4cf938ae0a8

https://qiita.com/Ishiki_/items/b4215b12f27c1863477a