public function where($arg = null, $val = null, $sign = '=', $operator = 'OR')
    {
        $this->where .=
            (strlen($this->where) ? " {$operator} " : '')
            .$arg
            .( !empty($val) ? " {$sign} ".self::escape($val) : '' );
        return $this;
    }
public function where($arg = null, $val = null, $sign = '=', $operator = 'OR')
    {
        $this->where .=
            (strlen($this->where) ? " {$operator} " : '')
            .$arg
            .( !empty($val) ? " {$sign} ".self::escape($val) : '' );
        return $this;
    }
public function where ( $ arg = null , $ val = null , $ sign = '=' , $ operator = 'OR' ) { $ this -> where .= ( strlen ( $ this -> where ) ? " {$operator} " : '' ) . $ arg . ( ! empty ( $ val ) ? " {$sign} " . self :: escape ( $ val ) : '' ) ; return $ this ; }
Build the condition of a query

@param string $arg The argument of the WHERE statement
@param string $val The value of the argument
@param string $sign The sign used to build the WHERE statement (default is '=')
@param string $operator An operator used if a WHERE statement was already set
@return object The whole object itself for method chaining
Build the condition of a query