예제 #1
0
 /**
  * @return \Illuminate\Pagination\Paginator
  */
 public function index()
 {
     $page = Input::has('page') ? Input::get('page') : PageableRepositoryInterface::FIRST_PAGE;
     $query = Input::has('query') ? Input::get('query') : '';
     $results = $this->filmService->paginate($page, $query);
     $transformedItems = $this->transformer->transformCollection($results->getItems());
     $results->setItems($transformedItems);
     return $this->paginator->make($results->getItems()->toArray(), $results->getTotal(), PageableRepositoryInterface::ITEMS_PER_PAGE);
 }
예제 #2
0
 /**
  * Get a new paginator instance.
  *
  * @param array $items
  * @param int $total
  * @param int|null $perPage
  * @return \Illuminate\Pagination\Paginator 
  * @static 
  */
 public static function make($items, $total, $perPage = null)
 {
     return \Illuminate\Pagination\Factory::make($items, $total, $perPage);
 }
예제 #3
0
 /**
  * Create a paginator for an un-grouped pagination statement.
  *
  * @param  \Illuminate\Pagination\Factory  $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($total);
     $results = $this->forPage($page, $perPage)->get($columns);
     return $paginator->make($results, $total, $perPage);
 }
예제 #4
0
 /**
  * Get a paginator for an ungrouped statement.
  *
  * @param  \Illuminate\Pagination\Factory  $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($total);
     $this->query->forPage($page, $perPage);
     return $paginator->make($this->get($columns)->all(), $total, $perPage);
 }