private function replaceValue(Comparison $comparison) { $value = $comparison->getValue(); $isArray = is_array($value); $values = (array) $value; foreach ($values as &$value) { $value = $this->uuidResolver->resolve($value); } if (false === $isArray) { $comparison->replaceValue(reset($values)); return; } $comparison->replaceValue($values); }
private function visitComparatorIn($fieldName, Comparison $comparison) { $values = $comparison->getValue(); if (!is_array($values)) { throw new \InvalidArgumentException(sprintf('IN value must be an array, got "%s"', gettype($values))); } $paramNames = []; foreach ($values as $value) { $paramNames[] = $this->registerParamValue($value); } return sprintf('%s IN (:%s)', $fieldName, implode(', :', $paramNames)); }