/** * Convert a comparison expression into the target query language output * * @param \Doctrine\Common\Collections\Expr\Comparison $comparison * * @return mixed */ public function walkComparison(Comparison $comparison) { $field = $comparison->getField(); $value = $comparison->getValue()->getValue(); // shortcut for walkValue() return $this->persister->getSelectConditionStatementSQL($field, $value, null, $comparison->getOperator()); }
/** * Converts a comparison expression into the target query language output. * * @param \Doctrine\Common\Collections\Expr\Comparison $comparison * * @return mixed */ public function walkComparison(Comparison $comparison) { $field = $comparison->getField(); $value = $comparison->getValue()->getValue(); // shortcut for walkValue() if (isset($this->classMetadata->associationMappings[$field]) && $value !== null && !is_object($value) && !in_array($comparison->getOperator(), array(Comparison::IN, Comparison::NIN))) { throw PersisterException::matchingAssocationFieldRequiresObject($this->classMetadata->name, $field); } return $this->persister->getSelectConditionStatementSQL($field, $value, null, $comparison->getOperator()); }