public function where($condition, $value = null, $type = null) {
		if (strpos($condition, '||')) {
			$conditions = explode('||', $condition);
			$conditions = array_map('trim', $conditions);
			
			$conditionParts = [];
			
			foreach ($conditions as $condition) {
				list($property, $condition, $valueCond) = $this->_parseCondition($condition);
				if ($valueCond !== '?') {
					$value = is_numeric($valueCond) ? $this->_parseNumeric($valueCond) : $valueCond;
				}

				$conditionParts[] = $this->_buildCondition($property, $condition, $value);
			}
			
			$this->_addCondition([self::MONGO_OR => $conditionParts]);
		} else {
			list($property, $condition, $valueCond) = $this->_parseCondition($condition);
			
			if ($valueCond !== '?') {
				$value = is_numeric($valueCond) ? $this->_parseNumeric($valueCond) : $valueCond;
			}
			
			$mongoCondition = $this->_buildCondition($property, $condition, $value);
			$this->_addCondition($mongoCondition);
		}
		
		return $this;
	}
public function where($condition, $value = null, $type = null) {
		if (strpos($condition, '||')) {
			$conditions = explode('||', $condition);
			$conditions = array_map('trim', $conditions);
			
			$conditionParts = [];
			
			foreach ($conditions as $condition) {
				list($property, $condition, $valueCond) = $this->_parseCondition($condition);
				if ($valueCond !== '?') {
					$value = is_numeric($valueCond) ? $this->_parseNumeric($valueCond) : $valueCond;
				}

				$conditionParts[] = $this->_buildCondition($property, $condition, $value);
			}
			
			$this->_addCondition([self::MONGO_OR => $conditionParts]);
		} else {
			list($property, $condition, $valueCond) = $this->_parseCondition($condition);
			
			if ($valueCond !== '?') {
				$value = is_numeric($valueCond) ? $this->_parseNumeric($valueCond) : $valueCond;
			}
			
			$mongoCondition = $this->_buildCondition($property, $condition, $value);
			$this->_addCondition($mongoCondition);
		}
		
		return $this;
	}
public function where ( $ condition , $ value = null , $ type = null ) { if ( strpos ( $ condition , '||' ) ) { $ conditions = explode ( '||' , $ condition ) ; $ conditions = array_map ( 'trim' , $ conditions ) ; $ conditionParts = [ ] ; foreach ( $ conditions as $ condition ) { list ( $ property , $ condition , $ valueCond ) = $ this -> _parseCondition ( $ condition ) ; if ( $ valueCond !== '?' ) { $ value = is_numeric ( $ valueCond ) ? $ this -> _parseNumeric ( $ valueCond ) : $ valueCond ; } $ conditionParts [ ] = $ this -> _buildCondition ( $ property , $ condition , $ value ) ; } $ this -> _addCondition ( [ self :: MONGO_OR => $ conditionParts ] ) ; } else { list ( $ property , $ condition , $ valueCond ) = $ this -> _parseCondition ( $ condition ) ; if ( $ valueCond !== '?' ) { $ value = is_numeric ( $ valueCond ) ? $ this -> _parseNumeric ( $ valueCond ) : $ valueCond ; } $ mongoCondition = $ this -> _buildCondition ( $ property , $ condition , $ value ) ; $ this -> _addCondition ( $ mongoCondition ) ; } return $ this ; }
Add the condition

@param  string $condition
@param  mixed  $value
@param  string $type
@return MongoCriteria
Add the condition