/** * Cast expression * * @param mixed $value * @param string $cast * @param bool $escapeCast * @param string $type */ public function __construct($value, $cast, $escapeCast = false, $type = self::TYPE_VALUE) { $parameters = array($value); $types = array($type); $expression = sprintf('CAST(%s AS %s)', self::PLACEHOLDER, $escapeCast ? self::PLACEHOLDER : $cast); if ($escapeCast) { $parameters[] = $cast; $types[] = self::TYPE_IDENTIFIER; } parent::__construct($expression, $parameters, $types); }
/** * Function call expression * * @param string $name * @param array $arguments * @param array $types */ public function __construct($name = null, array $arguments = array(), array $types = array()) { list($expression, $parameters, $types) = $this->getExpressionParametersTypes($name, $arguments, $types); parent::__construct($expression, $parameters, $types); }
/** * @param string $expression * @param string|array $parameters * @param array $types */ public function __construct($expression = '', $parameters = null, array $types = array()) { \Zend\Db\Sql\Expression::__construct($expression, $parameters, $types); }
/** * Array literal expression * * @param array $values * @param array $types */ public function __construct(array $values = array(), array $types = array()) { list($expression, $parameters, $types) = $this->getExpressionParametersTypes($values, $types); parent::__construct($expression, $parameters, $types); }