public function testConstruct() { $condition = new NestedCondition(); $this->assertEquals(array(), $condition->getParts()); }
/** * Create the SQL of a nested condition * @param zibo\library\database\manipulation\expression\condition\NestedCondition $condition * @param boolean useAlias * @return string sql of the nested condition */ protected function parseNestedCondition(NestedCondition $condition, $useAlias = true) { $parts = $condition->getParts(); $sql = ''; foreach ($parts as $part) { if ($sql) { $sql .= ' ' . $part->getOperator() . ' '; } $sql .= $this->parseCondition($part->getCondition(), $useAlias); } return '(' . $sql . ')'; }
/** * Processes the relations and the localization in the expressions used by the provided nested condition * @param zibo\library\database\manipulation\condition\NestedCondition $condition Condition to process * @return zibo\library\database\manipulation\condition\NestedCondition $condition Processed condition */ private function processNestedCondition(NestedCondition $condition) { $nestedCondition = new NestedCondition(); $parts = $condition->getParts(); foreach ($parts as $part) { $condition = $this->processCondition($part->getCondition()); $nestedCondition->addCondition($condition, $part->getOperator()); } return $nestedCondition; }