コード例 #1
0
 /**
  * @param LengthAwarePaginator|LengthAwarePaginatorContract $paginator
  * @param string                                            $dataKey
  *
  * @return array
  */
 protected function paginatorToArray(LengthAwarePaginator $paginator, $dataKey = 'items')
 {
     return ['total' => $paginator->total(), 'perPage' => $paginator->perPage(), 'currentPage' => $paginator->currentPage(), 'lastPage' => $paginator->lastPage(), 'nextPageUrl' => $paginator->nextPageUrl(), 'prevPageUrl' => $paginator->previousPageUrl(), 'from' => $paginator->firstItem(), 'to' => $paginator->lastItem(), $dataKey => $paginator->items()];
 }
コード例 #2
0
 public function nextPageUrl()
 {
     return $this->appendQueryParametersToUrl(parent::nextPageUrl());
 }
コード例 #3
0
ファイル: ApiResponse.php プロジェクト: ahk-ch/chamb.net
 /**
  * @param LengthAwarePaginator $paginatorData
  * @param           $data
  *
  * @return mixed
  */
 public function respondWithPagination(LengthAwarePaginator $paginatorData, $data)
 {
     $data = array_merge($data, ['paginator' => ['total_count' => $paginatorData->total(), 'total_pages' => ceil($paginatorData->total() / $paginatorData->perPage()), 'current_page' => $paginatorData->currentPage(), 'limit' => $paginatorData->count(), 'next_page_url' => $paginatorData->nextPageUrl()]]);
     return $this->respond($data);
 }
コード例 #4
0
ファイル: Handler.php プロジェクト: sunley/laravel-jsonapi
 /**
  * Return pagination links as array
  * @param LengthAwarePaginator $paginator
  * @return array
  */
 protected function getPaginationLinks($paginator)
 {
     $links = [];
     $links['self'] = urldecode($paginator->url($paginator->currentPage()));
     $links['first'] = urldecode($paginator->url(1));
     $links['last'] = urldecode($paginator->url($paginator->lastPage()));
     $links['prev'] = urldecode($paginator->url($paginator->currentPage() - 1));
     if ($links['prev'] === $links['self'] || $links['prev'] === '') {
         $links['prev'] = null;
     }
     $links['next'] = urldecode($paginator->nextPageUrl());
     if ($links['next'] === $links['self'] || $links['next'] === '') {
         $links['next'] = null;
     }
     return $links;
 }
コード例 #5
0
 /**
  * [buildHeaderLinks description]
  * @param  Paginator $collection [description]
  * @return [type]                [description]
  */
 private function buildHeaderLinks(Paginator $collection)
 {
     $links = array();
     if ($collection->nextPageUrl()) {
         $links[] = $this->buildHeaderLink('next', $collection->nextPageUrl(), $collection->perPage());
     }
     if ($collection->previousPageUrl()) {
         $links[] = $this->buildHeaderLink('prev', $collection->previousPageUrl(), $collection->perPage());
     }
     $links[] = $this->buildHeaderLink('first', $collection->url(1), $collection->perPage());
     $links[] = $this->buildHeaderLink('last', $collection->url($collection->lastPage()), $collection->perPage());
     return join($links, ", ");
 }