diff --git a/src/Database/SqlPreprocessor.php b/src/Database/SqlPreprocessor.php index ad3ef7f43..40345e8ec 100644 --- a/src/Database/SqlPreprocessor.php +++ b/src/Database/SqlPreprocessor.php @@ -20,7 +20,7 @@ class SqlPreprocessor use Nette\SmartObject; /** @var array */ - private const MODE_LIST = ['and', 'or', 'set', 'values', 'order']; + private const MODE_LIST = ['and', 'or', 'set', 'values', 'order', 'as']; private const ARRAY_MODES = [ 'INSERT' => 'values', @@ -253,6 +253,12 @@ private function formatValue($value, string $mode = null): string } return implode(', ', $vx); + } elseif ($mode === 'as') { + foreach ($value as $k => $v) { + $vx[] = $this->delimite($k) . ' AS ' . $v; + } + return implode(', ', $vx); + } else { throw new Nette\InvalidArgumentException("Unknown placeholder ?$mode."); }