static function answerOkByPager(Paginator $paginator) { if ($paginator->getLastPage() == $paginator->getCurrentPage()) { $next_page = null; } else { $next_page = $paginator->getCurrentPage(); } $next_page_url = $next_page ? \Request::url() . '?page=' . $next_page : null; return parent::json(['meta' => ['code' => 200], 'pagination' => ['next_url' => $next_page_url, 'next_page' => $next_page], 'data' => $paginator->getCollection()->toArray()], 200, [], JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); }
protected function respondWithPagination(Paginator $lessons, $data) { //protected function respondWithPagination($lessons, $data){ $data = array_merge($data, ['paginator' => ['total_count' => $lessons->getTotal(), 'total_pages' => ceil($lessons->getTotal() / $lessons->getPerPage()), 'current_page' => $lessons->getCurrentPage(), 'limit' => $lessons->getPerPage()]]); return $this->respond($data); //'data' => $this->lessonTransformer->transformCollection($lessons->toArray()) }
private function transformPaginator(Paginator $paginator) { $array = $paginator->toArray(); unset($array['data']); // Add pagination info $current_page = $paginator->getCurrentPage(); $next_page = min($current_page + 1, $paginator->getLastPage()); $previous_page = max($current_page - 1, 1); $array['next_page'] = $next_page === $current_page ? NULL : $paginator->getUrl($next_page); $array['previous_page'] = $previous_page === $current_page ? NULL : $paginator->getUrl($previous_page); return $array; }
/** * Create a new Presenter instance. * * @param \Illuminate\Pagination\Paginator $paginator * @return void */ public function __construct(Paginator $paginator) { $this->paginator = $paginator; $this->lastPage = $this->paginator->getLastPage(); $this->currentPage = $this->paginator->getCurrentPage(); }
/** * @return int */ public function getCurrentPage() { return $this->paginator->getCurrentPage(); }
/** * Creates an array of meta information for pagination * * @param Paginator $paginationObject * @return array */ public function generatePaginationMetaInfo(Paginator $paginationObject) { return ['total' => $paginationObject->getTotal(), 'perPage' => $paginationObject->getPerPage(), 'isFirstPage' => $paginationObject->getCurrentPage() == 1 ? true : false, 'isLastPage' => $paginationObject->getCurrentPage() == $paginationObject->getLastPage() ? true : false]; }
/** * @param Paginator $paginator * @return array */ protected function getPagination(Paginator $paginator) { $currentPage = $paginator->getCurrentPage(); $lastPage = $paginator->getLastPage(); $links = []; if ($currentPage > 1) { $links['previous'] = $paginator->getUrl($currentPage - 1); } if ($currentPage < $lastPage) { $links['next'] = $paginator->getUrl($currentPage + 1); } $pagination = []; $pagination['total'] = $paginator->getTotal(); $pagination['count'] = $paginator->count(); $pagination['per_page'] = $paginator->getPerPage(); $pagination['current_page'] = $currentPage; $pagination['total_pages'] = $lastPage; $pagination['links'] = $links; return $pagination; }
/** * @param $paginated * @return array */ protected function buildPaginationResponse(\Illuminate\Pagination\Paginator $paginated) { $data = ['items' => $paginated->getItems(), 'page' => $paginated->getCurrentPage(), 'per_page' => $paginated->getPerPage(), 'page_results' => $paginated->count(), 'total_results' => $paginated->getTotal()]; return $data; }