• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/volume/queryhelper.php
  • Класс: BitrixDiskVolumeQueryHelper
  • Вызов: QueryHelper::prepareUpdateOnSelect
static function prepareUpdateOnSelect(array $columns, array $selectFields, $tableAlias = 'dest', $selectAlias = 'src'): string
{
	$sqlHelper = Application::getConnection()->getSqlHelper();

	foreach ($selectFields as $alias => $statement)
	{
		if (!in_array($alias, $columns))
		{
			$columns[] = $alias;
		}
	}

	$tableName = VolumeTable::getTableName();
	$tableFields = Application::getConnection()->getTableFields($tableName);

	$columnList = [];
	foreach ($columns as $columnName)
	{
		if (isset($tableFields[$columnName]))
		{
			$columnName = $sqlHelper->quote($columnName);
			$columnList[] = "$tableAlias.$columnName = $selectAlias.$columnName";
		}
	}

	return implode(', ', $columnList);
}