$results * @param integer $pageSize * @return \Illuminate\Pagination\LengthAwarePaginator */ public static function paginate(Collection $results, int $pageSize): \Illuminate\Pagination\LengthAwarePaginator { $page = Paginator::resolveCurrentPage('page'); return self::paginateManually($results, $pageSize, $page); } /** * Paginate a collection. * * @template TModel of \Illuminate\Database\Eloquent\Model * @param \Illuminate\Support\Collection $results * @param integer $pageSize * @param integer $page * @return \Illuminate\Pagination\LengthAwarePaginator */ public static function paginateManually( Collection $results, int $pageSize, int $page = 1 ): \Illuminate\Pagination\LengthAwarePaginator { $total = $results->count(); return self::paginator($results->forPage($page, $pageSize), $total, $pageSize, $page, [ 'path' => Paginator::resolveCurrentPath(), 'pageName' => 'page', ]); } /** * Create a new length-aware paginator instance. * * @template TModel of \Illuminate\Database\Eloquent\Model * @param \Illuminate\Support\Collection $items * @param integer $total * @param integer $perPage * @param integer $currentPage * @param array $options * @return \Illuminate\Pagination\LengthAwarePaginator */ protected static function paginator( Collection $items, int $total, int $perPage, int $currentPage, array $options ): \Illuminate\Pagination\LengthAwarePaginator { return Container::getInstance()->makeWith(LengthAwarePaginator::class, [ 'items' => $items, 'total' => $total, 'perPage' => $perPage, 'currentPage' => $currentPage, 'options' => $options ]); } }