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()) }
/** * @return int */ public function getTotal() { return $this->paginator->getTotal(); }
/** * 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; }