public function where( $column, $equality = '', $value = '', Closure $callback = null, $boolean = null ) {

		if ( $equality ) {
			$this->assert_comparator( $equality );
		}

		if ( is_array( $column ) ) {

			$where = Where::for_clause();

			foreach ( $column as $col => $val ) {
				$where->qAnd( $this->generate_where_tag( $col, true, $val ) );
			}

		} else {
			$where = $this->generate_where_tag( $column, $equality, $value );
		}

		if ( $callback ) {
			$_where      = $this->where;
			$this->where = $where;
			$callback( $this );
			$this->where = $_where;
		}

		if ( $this->where->is_empty() && ! $where->is_for_clause() ) {
			$this->where = $where;
		} else {
			$boolean = $boolean ?: 'and';
			$boolean = 'q' . ucfirst( $boolean );
			$this->where->{$boolean}( $where );
		}

		return $this;
	}
public function where( $column, $equality = '', $value = '', Closure $callback = null, $boolean = null ) {

		if ( $equality ) {
			$this->assert_comparator( $equality );
		}

		if ( is_array( $column ) ) {

			$where = Where::for_clause();

			foreach ( $column as $col => $val ) {
				$where->qAnd( $this->generate_where_tag( $col, true, $val ) );
			}

		} else {
			$where = $this->generate_where_tag( $column, $equality, $value );
		}

		if ( $callback ) {
			$_where      = $this->where;
			$this->where = $where;
			$callback( $this );
			$this->where = $_where;
		}

		if ( $this->where->is_empty() && ! $where->is_for_clause() ) {
			$this->where = $where;
		} else {
			$boolean = $boolean ?: 'and';
			$boolean = 'q' . ucfirst( $boolean );
			$this->where->{$boolean}( $where );
		}

		return $this;
	}
public function where ( $ column , $ equality = '' , $ value = '' , Closure $ callback = null , $ boolean = null ) { if ( $ equality ) { $ this -> assert_comparator ( $ equality ) ; } if ( is_array ( $ column ) ) { $ where = Where :: for_clause ( ) ; foreach ( $ column as $ col => $ val ) { $ where -> qAnd ( $ this -> generate_where_tag ( $ col , true , $ val ) ) ; } } else { $ where = $ this -> generate_where_tag ( $ column , $ equality , $ value ) ; } if ( $ callback ) { $ _where = $ this -> where ; $ this -> where = $ where ; $ callback ( $ this ) ; $ this -> where = $ _where ; } if ( $ this -> where -> is_empty ( ) && ! $ where -> is_for_clause ( ) ) { $ this -> where = $ where ; } else { $ boolean = $ boolean ? : 'and' ; $ boolean = 'q' . ucfirst ( $ boolean ) ; $ this -> where -> { $ boolean } ( $ where ) ; } return $ this ; }
Filter results by a condition.

@since 2.0

@param string|array|Where $column
@param string|bool        $equality
@param mixed              $value
@param Closure|null       $callback Called with $this as the first parameter. Setup for nesting on the new where
tag.
@param string             $boolean

@return $this

@throws \IronBound\DB\Exception\InvalidColumnException
@throws \InvalidArgumentException
Filter results by a condition .