/** * @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); }
/** * 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); }
/** * 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); }
/** * 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); }