Merge pull request #1365 from sdbondi/develop
Ref #649 - Added query builder support for BETWEEN clauses
This commit is contained in:
commit
0a0eb3779c
|
@ -342,6 +342,67 @@ public function or_where_not_in($column, $values)
|
|||
{
|
||||
return $this->where_not_in($column, $values, 'OR');
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a BETWEEN condition to the query
|
||||
*
|
||||
* @param string $column
|
||||
* @param mixed $min
|
||||
* @param mixed $max
|
||||
* @param string $connector
|
||||
* @param boolean $not
|
||||
* @return Query
|
||||
*/
|
||||
public function where_between($column, $min, $max, $connector = 'AND', $not = false)
|
||||
{
|
||||
$type = ($not) ? 'where_not_between' : 'where_between';
|
||||
|
||||
$this->wheres[] = compact('type', 'column', 'min', 'max', 'connector');
|
||||
|
||||
$this->bindings[] = $min;
|
||||
$this->bindings[] = $max;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a OR BETWEEN condition to the query
|
||||
*
|
||||
* @param string $column
|
||||
* @param mixed $min
|
||||
* @param mixed $max
|
||||
* @return Query
|
||||
*/
|
||||
public function or_where_between($column, $min, $max)
|
||||
{
|
||||
return $this->where_between($column, $min, $max, 'OR');
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a NOT BETWEEN condition to the query
|
||||
*
|
||||
* @param string $column
|
||||
* @param mixed $min
|
||||
* @param mixed $max
|
||||
* @return Query
|
||||
*/
|
||||
public function where_not_between($column, $min, $max, $connector = 'AND')
|
||||
{
|
||||
return $this->where_between($column, $min, $max, $connector, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a OR NOT BETWEEN condition to the query
|
||||
*
|
||||
* @param string $column
|
||||
* @param mixed $min
|
||||
* @param mixed $max
|
||||
* @return Query
|
||||
*/
|
||||
public function or_where_not_between($column, $min, $max)
|
||||
{
|
||||
return $this->where_not_between($column, $min, $max, 'OR');
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a where null condition to the query.
|
||||
|
|
|
@ -242,6 +242,33 @@ protected function where_not_in($where)
|
|||
return $this->wrap($where['column']).' NOT IN ('.$parameters.')';
|
||||
}
|
||||
|
||||
/**
|
||||
* Compile a WHERE BETWEEN clause
|
||||
*
|
||||
* @param array $where
|
||||
* @return string
|
||||
*/
|
||||
protected function where_between($where)
|
||||
{
|
||||
$min = $this->parameter($where['min']);
|
||||
$max = $this->parameter($where['max']);
|
||||
|
||||
return $this->wrap($where['column']).' BETWEEN '.$min.' AND '.$max;
|
||||
}
|
||||
|
||||
/**
|
||||
* Compile a WHERE NOT BETWEEN clause
|
||||
* @param array $where
|
||||
* @return string
|
||||
*/
|
||||
protected function where_not_between($where)
|
||||
{
|
||||
$min = $this->parameter($where['min']);
|
||||
$max = $this->parameter($where['max']);
|
||||
|
||||
return $this->wrap($where['column']).' NOT BETWEEN '.$min.' AND '.$max;
|
||||
}
|
||||
|
||||
/**
|
||||
* Compile a WHERE NULL clause.
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue