limit() public method

Set the "limit" value of the query.
public limit ( integer $value )
$value integer
Exemplo n.º 1
0
 /**
  * Parse the query parameters with the given options.
  * Either for a single dataset or multiple.
  *
  * @param  mixed    $options
  * @param  boolean  $multiple
  * @return void
  */
 public function parse($options, $multiple = false)
 {
     $this->multiple = $multiple;
     if ($multiple) {
         $fullTextSearchColumns = $options;
         //Parse and apply offset using the laravel "offset" function
         if ($offset = $this->getParam('offset')) {
             $offset = intval($offset);
             $this->query->offset($offset);
         }
         //Parse and apply limit using the laravel "limit" function
         if ($limit = $this->getParam('limit')) {
             $limit = intval($limit);
             $this->query->limit($limit);
         }
         //Parse and apply the filters using the different laravel "where" functions
         //Every parameter that has not a predefined functionality gets parsed as a filter
         if ($filterParams = $this->getFilterParams()) {
             $this->parseFilter($filterParams);
         }
         //Parse an apply the fulltext search using the different laravel "where" functions
         //The fulltext search is only applied to the columns passed by $fullTextSearchColumns.
         if ($this->getParam('q') !== false) {
             $this->parseFulltextSearch($this->getParam('q'), $fullTextSearchColumns);
         }
     } else {
         $identification = $options;
         if (is_numeric($identification)) {
             $this->query->where('id', $identification);
         } else {
             if (is_array($identification)) {
                 foreach ($identification as $column => $value) {
                     $this->query->where($column, $value);
                 }
             }
         }
     }
     //Parse and apply field elements using the laravel "select" function
     //The needed fields for the with function (Primary and foreign keys) have to be added accordingly
     if ($fields = $this->getParam('fields')) {
         $this->parseFields($fields);
     }
     //Parse and apply sort elements using the laravel "orderBy" function
     if ($sort = $this->getParam('sort')) {
         $this->parseSort($sort);
     }
     //Parse and apply with elements using the Laravel "with" function
     if (($with = $this->getParam('with')) && $this->isEloquentBuilder) {
         $this->parseWith($with);
     }
     //Parse the config params
     if ($config = $this->getParam('config')) {
         $this->parseConfig($config);
     }
     if ($this->isEloquentBuilder) {
         //Attach the query builder object back to the eloquent builder object
         $this->builder->setQuery($this->query);
     }
 }
Exemplo n.º 2
0
 /**
  * @param $value
  * @return $this
  */
 public function applyLimit($value)
 {
     /**
      * Save to conditons.
      */
     $this->addCondition('limit', $value);
     $this->model = $this->model->limit($value);
     return $this;
 }
Exemplo n.º 3
0
 /**
  * Возвращает коллекцию в виде пагинации
  *
  * @param int $page
  * @param int $limit
  */
 public function pagination($page, $limit = 10)
 {
     /**
      * @var \Illuminate\Support\Collection $data
      */
     $countTotal = $this->_query->count();
     $this->_query->skip($limit * $page - $limit);
     $this->_query->limit($limit);
     $data = collect();
     foreach ($this->_query->get() as $key => $instance) {
         $_listRow = [];
         foreach ($this->columns->getColumns() as $column) {
             $_listRow[$column->getKey()] = $column->getValues($instance);
         }
         $buttons = $this->filterAction($instance);
         if (count($buttons)) {
             $_listRow = array_merge($_listRow, [GridColumn::ACTION_NAME => implode('', $buttons)]);
         }
         $data->offsetSet($key, $_listRow);
     }
     return new \Illuminate\Pagination\LengthAwarePaginator($data, $countTotal, $limit, $page, ['path' => \Illuminate\Pagination\Paginator::resolveCurrentPath(), 'pageName' => 'page']);
 }
Exemplo n.º 4
0
 /**
  * Set the "limit" value of the query.
  *
  * @param int $value
  * @return $this 
  * @static 
  */
 public static function limit($value)
 {
     return \Illuminate\Database\Query\Builder::limit($value);
 }
 /**
  * @param Builder|EloquentBuilder $src
  * @param OperationInterface|PaginateOperation $operation
  * @return mixed
  */
 public function process($src, OperationInterface $operation)
 {
     $src->limit($operation->getPageSize())->offset($this->getOffset($operation));
     return $src;
 }
Exemplo n.º 6
0
 public function limit($limit)
 {
     $this->original->limit($limit);
     return $this;
 }