Laravel5.5+ 對陣列(物件陣列)資料進行分頁
阿新 • • 發佈:2018-12-24
在使用 Laravel 時,除了在 ORM 中使用分頁外,有些時候也需要對用原生 sql 查詢的資料進行分頁,該查詢資料可能是陣列,也可能是物件陣列.
支援陣列格式:
$goods = [
[],[],[]
];
陣列物件格式:
以下封裝了一個方法可供使用
if (!function_exists("page_with_array")){ function page_with_array($request,$array_item){ $currentPage = \Illuminate\Pagination\LengthAwarePaginator::resolveCurrentPage(); $itemCollection = collect($array_item); $perPage = env('PAGE_SIZE'); // 每頁數量 $currentPageItems = $itemCollection->slice(($currentPage*$perPage)-$perPage,$perPage)->all(); $paginatedItems = new \Illuminate\Pagination\LengthAwarePaginator($currentPageItems,count($itemCollection),$perPage); return $paginatedItems->setPath($request->url()); } }
測試結果
參考: