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 . ')';
 }
Example #3
0
 /**
  * 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;
 }