paginate() публичный Метод

Paginate the given query.
public paginate ( integer $perPage = null, array $columns = ['*'], string $pageName = 'page', integer | null $page = null ) : Illuminate\Contracts\Pagination\LengthAwarePaginator
$perPage integer
$columns array
$pageName string
$page integer | null
Результат Illuminate\Contracts\Pagination\LengthAwarePaginator
Пример #1
0
 /**
  * Get paginated list
  *
  * @param int $perPage
  * @param array $columns
  * @return mixed
  */
 public function paginate($perPage = 15, $columns = ['*'])
 {
     $this->newQuery()->eagerLoad()->setClauses()->setScopes();
     $models = $this->query->paginate($perPage, $columns);
     $this->unsetClauses();
     return $models;
 }
Пример #2
0
 /**
  * Retrieve all data of repository, paginated
  *
  * @param null  $limit
  * @param array $columns
  * @return mixed
  */
 public function paginate($limit = null, $columns = ['*'])
 {
     return $this->wrap(function ($limit = null, $columns = ['*']) {
         $limit = is_null($limit) ? $this->perPage : $limit;
         return $this->model->paginate($limit, $columns);
     }, new Action(__METHOD__, func_get_args(), Action::READ));
 }
Пример #3
0
 /**
  * Paginate connection w/ query args.
  *
  * @param  \Illuminate\Database\Eloquent\Builder $query
  * @param  array  $args
  * @return \Illuminate\Database\Eloquent\Builder
  */
 public function scopeGetConnection($query, array $args)
 {
     $first = isset($args['first']) ? $args['first'] : 15;
     $after = $this->decodeCursor($args);
     $page = isset($args['page']) ? $args['page'] : 1;
     $currentPage = $first && $after ? floor(($first + $after) / $first) : $page;
     return $query->paginate($first, ['*'], 'page', $currentPage);
 }
Пример #4
0
 /**
  * Custom Paginate current results, for queries that cannot be paginated using paginate().
  *
  * @param int $total
  * @param int $per_page
  *
  * @return LengthAwarePaginator
  */
 public function customPaginate($total, $per_page = 20)
 {
     $this->per_page = $per_page;
     $this->buildQuery();
     $current_page = Paginator::resolveCurrentPage() ? Paginator::resolveCurrentPage() : 1;
     $data = $this->query->paginate($per_page)->items();
     $pagination = new LengthAwarePaginator($data, $total, $per_page, $current_page, ['path' => Paginator::resolveCurrentPath()]);
     return $pagination;
 }
 /**
  * Paginate the results of this query
  *
  * @param  int
  * @param  int
  * @return $this
  */
 public function paginate($perPage, $page)
 {
     if ($perPage > 0) {
         Paginator::currentPageResolver(function () use($page) {
             return $page;
         });
         $this->paginator = $this->query->paginate($perPage);
     } else {
         $this->collection = $this->query->get();
     }
     return $this;
 }
Пример #6
0
 public function paginate($perPage = null, $columns = array("*"), $itemProcessor = null)
 {
     if ($this->disableEloficient) {
         return parent::paginate($perPage, $columns = array("*"));
     }
     $perPage = $perPage ?: ($_GET["perpage"] ?: $this->model->getPerPage());
     $paginator = $this->query->getConnection()->getPaginator();
     $this->prepareForPagination = true;
     $this->query->forPage($paginator->getCurrentPage(), $perPage);
     $collection = $this->get($columns);
     $totalRows = $this->getPaginationTotalRows();
     if ($itemProcessor instanceof Closure) {
         $collection = call_user_func($itemProcessor, $collection);
     }
     return $paginator->make($collection->all(), $totalRows, $perPage);
 }
Пример #7
0
 /**
  * Pagination for query
  *
  * @param $query
  *
  * @return LengthAwarePaginator
  */
 protected function pagination(Builder $query, $page = null)
 {
     $action = $this->action;
     $page = is_null($page) ? Input::get('page') : $page;
     $max_per_page = $this->getConfig($action)['max_per_page'];
     return $query->paginate($max_per_page, ['*'], 'page', $page);
 }
 /**
  * Get the paginated entries.
  *
  * @param  array $columns
  * @return Paginator
  */
 public function paginate($perPage = 15, array $columns = ['*'])
 {
     return (new Decorator())->decorate($this->query->paginate($perPage, $columns));
 }
Пример #9
0
 /**
  * 翻页
  * @param int $perPage
  * @param string $pageName
  * @param int|null $page
  * @return static
  */
 public function paginate(int $perPage, string $pageName = 'page', int $page = null)
 {
     $this->original->paginate($perPage, ['*'], $pageName, $page);
     return $this;
 }
 /**
  * @param Builder $builder
  * @return PageInterface
  */
 protected function paginate(Builder $builder)
 {
     $size = $this->getPerPage();
     $page = new Page($this->service);
     $data = $this->simplePagination ? $builder->simplePaginate($size) : $builder->paginate($size);
     $page->setData($data);
     return $page;
 }
 /**
  * Retrieve all data of repository, paginated
  *
  * @param null  $limit
  * @param array $columns
  *
  * @return \Illuminate\Pagination\Paginator
  */
 public function paginate($limit = null, $columns = ['*'])
 {
     $this->newQuery();
     return $this->query->paginate($limit, $columns);
 }
Пример #12
0
 /**
  * @param null $pagination
  * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator
  */
 public function findAllWithPagination($pagination = null)
 {
     $pagination = $pagination ?: self::PAGINATION;
     return $this->instance->paginate($pagination);
 }
Пример #13
0
 private static function getPaginatedResults(Builder $query)
 {
     return $query->paginate(config('settings.products.results'));
 }
 /**
  * Paginate all posts.
  *
  * @param int $postsPerPage
  *
  * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator
  */
 public function paginateAll($postsPerPage)
 {
     return $this->model->paginate($postsPerPage);
 }
Пример #15
0
 /**
  * Paginate a result set and reset the query.
  *
  * @param {int} $limit
  *
  * @return \Illuminate\Pagination\Paginator
  */
 public function paginate($limit)
 {
     $ret = $this->query->paginate($limit);
     $this->reset();
     return $ret;
 }
Пример #16
0
 /**
  * respondWithPaginateCollection
  *
  * Make a response based on a Paginated Collection
  *
  * @param Builder $query
  * @param TransformerAbstract $trasformer (default null)
  * @return Response
  */
 protected function respondWithPaginateCollection(Builder $query, TransformerAbstract $trasformer = null, $cache = false)
 {
     $perPage = $this->inputGet('per_page', 20);
     $page = $this->inputGet('page', 1);
     //executes query
     $paginator = $query->paginate($perPage, $columns = array('*'), $pageName = 'page', $page);
     $out = $paginator->getCollection();
     $this->markBench('post-pagination');
     $resource = new Collection($out, $this->getTrasformer($trasformer));
     $this->markBench('post-transformers');
     $resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
     $this->prepareFractalManager();
     $rootScope = $this->fractal->createData($resource);
     $resp = $rootScope->toArray();
     return $this->jsonResponse($resp);
 }
Пример #17
0
 /**
  * Paginate records
  *
  * @param int   $perPage
  * @param array $columns
  * @return \Illuminate\Pagination\Paginator
  */
 public function paginate($perPage = 15, $columns = ['*'])
 {
     return $this->builder->paginate($perPage, $columns);
 }
Пример #18
0
 /**
  * @param int    $perPage
  * @param string $pageName
  * @param null   $page
  *
  * @param array  $options
  *
  * @return $this
  */
 public function paginate($perPage = 12, $pageName = 'page', $page = null, array $options = [])
 {
     $this->paginator = $this->builder->paginate($perPage, ['*'], $pageName, $page);
     return $this;
 }
Пример #19
0
 /**
  * Gets a paginate for the resource.
  *
  * @param int $perPage
  * @param int $page
  * @param array $columns
  * @return mixed
  */
 public function paginate($perPage = 15, $page = 1, $columns = array('*'))
 {
     $paginator = $this->query->paginate($perPage, $columns, 'page', $page);
     $this->resetScope();
     return $paginator;
 }
Пример #20
0
 public function paginate($limit = null, $columns = ['*'])
 {
     $this->newQuery();
     $limit = is_null($limit) ? config('repository.pagination.limit', 15) : $limit;
     return $this->query->paginate($limit, $columns);
 }
Пример #21
0
 public function paginate(\Illuminate\Database\Eloquent\Builder $query, $size = null)
 {
     $paginator = $query->paginate($size);
     $this->paginator($paginator);
     return $paginator;
 }
Пример #22
0
 /**
  * Get a paginator for the "select" statement.
  *
  * @param int $perPage
  * @param array $columns
  * @return \Illuminate\Pagination\Paginator 
  * @static 
  */
 public static function paginate($perPage = null, $columns = array())
 {
     return \Illuminate\Database\Eloquent\Builder::paginate($perPage, $columns);
 }
Пример #23
0
 /**
  * @param int $perPage
  * @param array $columns
  * @return mixed
  */
 public function paginate($perPage = null, $columns = array('*'))
 {
     $perPage = is_null($perPage) ? $this->perPage : $perPage;
     return $this->query->paginate($perPage, $columns);
 }
 /**
  * @param Builder                     $builder
  * @param EncodingParametersInterface $parameters
  *
  * @return PagedDataInterface
  */
 protected function paginateBuilder(Builder $builder, EncodingParametersInterface $parameters)
 {
     $pageSize = $this->getPageSize($parameters);
     $pageNumber = $this->getPageNumber($parameters);
     $paginator = $builder->paginate($pageSize, ['*'], 'page', $pageNumber);
     /** @var IlluminateRequest $request */
     $request = $this->getContainer()->make(IlluminateRequest::class);
     $url = $request->url();
     $query = $request->query();
     $pagedData = $this->getFactory()->createPagingStrategy()->createPagedData($paginator, $url, true, $query);
     return $pagedData;
 }
Пример #25
0
 /**
  * Return paginated results.
  *
  * @param int $perPage Number of results per page
  *
  * @return static
  */
 public function paginate($perPage = 10)
 {
     return $this->model->paginate($perPage);
 }
Пример #26
0
 /**
  * @return Collection
  *
  * method expected to be called (optionally) after each real repository call
  * also sets cache if cache is enabled
  */
 private function get()
 {
     $result = $this->paginate ? $this->model->paginate($this->perPage) : $this->model->get();
     $this->storeToCache($result);
     return $result;
 }
Пример #27
0
 /**
  * Wrapper method so we can call the parent's paginate method
  * and also mock it in mockery too so we don't have to fiddle
  * faddle with Eloquent underneath
  *
  * @param  int    $perPage
  * @param  array  $columns
  * @return \Illuminate\Pagination\Paginator
  */
 protected function callParentPagination($perPage, $columns)
 {
     return parent::paginate($perPage, $columns);
 }
Пример #28
0
 /**
  * @param int $perPage
  * @param array $columns
  * @return mixed
  */
 public function paginate($perPage = 1, $columns = array('*'))
 {
     $this->applyCriteria();
     $this->newQuery()->eagerLoadRelations();
     return $this->model->paginate($perPage, $columns);
 }
Пример #29
0
 /**
  * Paginate the given query.
  *
  * @param int $perPage
  * @param array $columns
  * @param string $pageName
  * @param int|null $page
  * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator 
  * @throws \InvalidArgumentException
  * @static 
  */
 public static function paginate($perPage = null, $columns = array(), $pageName = 'page', $page = null)
 {
     return \Illuminate\Database\Eloquent\Builder::paginate($perPage, $columns, $pageName, $page);
 }
Пример #30
0
 /**
  * @param int $perPage
  * @param array $columns
  * @return mixed
  */
 public function paginate($perPage = 1, $columns = array('*'))
 {
     $this->applyCriteria();
     return $this->execute($this->model->paginate($perPage, $columns));
 }