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');
|
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.
|
* 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.')';
|
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.
|
* Compile a WHERE NULL clause.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue