take() public method

Alias to set the "limit" value of the query.
public take ( integer $value ) : Builder | static
$value integer
return Builder | static
Beispiel #1
0
 /**
  * Execute the query and get the first result.
  *
  * @param  array   $columns
  *
  * @return mixed|static
  */
 public function first($columns = ['*'])
 {
     $this->query->take(1);
     $results = $this->get($columns);
     if ($results instanceof Collection) {
         return $results->first();
     }
     return count($results) > 0 ? reset($results) : null;
 }
Beispiel #2
0
 /**
  * A reusable query to pass params
  *
  * @param Builder $query
  * @param array $queryFilter
  *
  * @return Builder
  */
 public function scopeQueryWithParams($query, $queryFilter)
 {
     $limit = isset($queryFilter['limit']) ? $queryFilter['limit'] : 10;
     $perPage = isset($queryFilter['perPage']);
     $orderBy = isset($queryFilter['orderBy']) ? $queryFilter['orderBy'] : 'created_at';
     $sortOrder = isset($queryFilter['sortOrder']) ? $queryFilter['sortOrder'] : 'desc';
     $query->orderBy($orderBy, $sortOrder);
     if ($perPage) {
         return $query->paginate($perPage);
     }
     return $query->take($limit);
 }
 private function buildQuery()
 {
     $this->query = app(get_class($this->model));
     if (!empty($this->fields)) {
         $this->query = $this->query->select($this->fields);
     }
     if (!empty($this->relations)) {
         $this->relations = array_unique($this->relations);
         $this->query = $this->query->with($this->relations);
     }
     if (!empty($this->per_page)) {
         $this->query = $this->query->take($this->per_page);
     }
     if (count($this->conditions)) {
         foreach ($this->conditions as $condition) {
             $this->query = $this->query->where($condition['column'], $condition['operator'], $condition['value'], $condition['boolean']);
         }
     }
 }
Beispiel #4
0
 /**
  * Alias to set the "limit" value of the query.
  *
  * @param int $value
  * @return \Illuminate\Database\Query\Builder|static 
  * @static 
  */
 public static function take($value)
 {
     return \Illuminate\Database\Query\Builder::take($value);
 }
Beispiel #5
0
 public function execute(Builder $query)
 {
     $query->take($this->getValue());
     return $query;
 }
Beispiel #6
0
 public function getSome($take, $skip = 0)
 {
     return $this->query->take($take)->skip($skip)->get();
 }
Beispiel #7
0
	/**
	 * Filters a relationship options query by a search term
	 *
	 * @param mixed										$term
	 * @param \Illuminate\Database\Query\Builder		$query
	 * @param array										$selectedItems
	 * @param \Frozennode\Administrator\Fields\Field	$fieldObject
	 * @param string									$relatedKeyTable
	 */
	public function filterBySearchTerm($term, QueryBuilder &$query, Field $fieldObject, array $selectedItems, $relatedKeyTable)
	{
		if ($term)
		{
			//set up the wheres
			foreach ($fieldObject->getOption('search_fields') as $search)
			{
				$query->where($this->db->raw($search), 'LIKE', '%'.$term.'%');
			}

			//exclude the currently-selected items if there are any
			if (count($selectedItems))
			{
				$query->whereNotIn($relatedKeyTable, $selectedItems);
			}

			//set up the limits
			$query->take($fieldObject->getOption('num_options') + count($selectedItems));
		}
	}