<?php /** * Copyright © 2024 ExacTI Technology Solutions. All rights reserved. * GPLv3 General License. * https://exacti.com.br * Phacil PHP Framework - https://github.com/exacti/phacil-framework */ namespace Phacil\Framework\MagiQL\Builder\Syntax\Adapt\PostgreSQL; use Phacil\Framework\MagiQL\Builder\Syntax\UpdateWriter as GenericWriter; use Phacil\Framework\MagiQL\Manipulation\Update; use Phacil\Framework\MagiQL\Syntax\Column; class UpdateWriter extends GenericWriter { /** * @param Update $update * * @return string */ protected function writeUpdateValues(Update $update) { $assigns = []; foreach ($update->getValues() as $column => $value) { $value = $this->writer->writePlaceholderValue($value); $assigns[] = "$column = $value"; } return \implode(', ', $assigns); } /** * Creates a Column object. * * @param array $argument * @param null|Table $table * * @return Column */ public static function createColumn(array &$argument, $table = null) { $columnName = \array_values($argument); $columnName = $columnName[0]; $columnAlias = \array_keys($argument); $columnAlias = $columnAlias[0]; if (\is_numeric($columnAlias) || \strpos($columnName, '*') !== false) { $columnAlias = null; } return new Column($columnName, (string) $table, $columnAlias); } }