/** * @param QueryCondition $condition */ public function addCondition(QueryCondition $condition) { $this->conditions[$condition->getId()] = $condition; }
/** * @param QueryCondition[] $queryConditions * @param FeatureType $featureType * @return string SQL */ private function buildCriteria(array $queryConditions, FeatureType $featureType) { $connection = $featureType->getConnection(); $whereConditions = array(); foreach ($queryConditions as $condition) { if (is_array($condition)) { $condition = new QueryCondition($condition); } $whereConditions[] = $connection->quoteIdentifier($condition->getFieldName()) . ' ' . $condition->getOperator() . ' ' . $connection->quote($condition->getValue()); } return implode(' AND ', $whereConditions); }