/** * {@inheritdoc} */ public function __invoke(SQLTransformer $transformer, Expression $expression, Configuration $config) { $left = $expression->getArg(0); $right = $expression->getArg(1); if (!$right->isValue()) { throw new \InvalidArgumentException('Only constant values allowed as right operands of contains expression'); } return Clause::join($transformer->transform($left, $config), ' LIKE ', $transformer->transform(Expression\Expr::value('%' . $right->getValue() . '%'), $config)); }
/** * {@inheritdoc} */ public function __invoke(SQLTransformer $transformer, Expression $expression, Configuration $config) { return Clause::join($this->prefix, $transformer->transform($expression->getArg(0), $config), $this->suffix); }
/** * {@inheritdoc} */ public function __invoke(SQLTransformer $transformer, Expression $expression, Configuration $config) { $left = $transformer->transform($expression->getArg(0), $config); $right = $transformer->transform($expression->getArg(1), $config); return Clause::join($left, $this->operator, $right); }