/** * @return string */ public function getDQLCondition() { $string = $this->value->getKey() . ' '; $string .= $this->value->getOperator() . ' '; if ($this->value->getOperator() === 'BETWEEN') { $keys = []; foreach ($this->value->getValue() as $index => $v) { $keys[] = $this->value->getReferenceKey($index); } $string .= implode(' AND ', $keys); } elseif ($this->value->getOperator() === 'IN') { $string .= '(' . $this->value->getReferenceKey() . ')'; } elseif ($this->value->getOperator() === 'IS') { $string .= $this->value->getValue(); } elseif ($this->value->getOperator() === 'INSTANCE OF') { $string .= $this->value->getValue(); } else { $string .= $this->value->getReferenceKey(); } return $string; }