/**
  * Get a URL for a given page number.
  *
  * @param  int     $page
  * @return string
  */
 public function getUrl($page)
 {
     $url = $this->env->getCurrentUrl() . '?page=' . $page;
     // If we have any extra query string key / value pairs that need to be added
     // onto the URL, we will put them in query string form and then attach it
     // to the URL. This allows for extra information like sortings storage.
     if (count($this->query) > 0) {
         $url = $url . '&' . http_build_query($this->query);
     }
     return $url;
 }
示例#2
0
 /**
  * Create a paginator for an un-grouped pagination statement.
  *
  * @param  Illuminate\Pagination\Environment  $paginator
  * @param  int    $perPage
  * @param  array  $columns
  * @return Illuminate\Pagination\Paginator
  */
 protected function ungroupedPaginate($paginator, $perPage, $columns)
 {
     $total = $this->getPaginationCount();
     // Once we have the total number of records to be paginated, we can grab the
     // current page and the result array. Then we are ready to create a brand
     // new Paginator instances for the results which will create the links.
     $page = $paginator->getCurrentPage();
     $results = $this->forPage($page, $perPage)->get($columns);
     return $paginator->make($results, $total, $perPage);
 }
示例#3
0
 /**
  * Get a paginator for an ungrouped statement.
  *
  * @param  Illuminate\Pagination\Environment  $paginator
  * @param  int    $perPage
  * @param  array  $columns
  * @return Illuminate\Pagination\Paginator
  */
 protected function ungroupedPaginate($paginator, $perPage, $columns)
 {
     $total = $this->query->getPaginationCount();
     // Once we have the paginator we need to set the limit and offset values for
     // the query so we can get the properly paginated items. Once we have an
     // array of items we can create the paginator instances for the items.
     $page = $paginator->getCurrentPage();
     $this->query->forPage($page, $perPage);
     return $paginator->make($this->get($columns)->all(), $total, $perPage);
 }