• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/orm/query/query.php
  • Класс: Bitrix\Main\ORM\Query\Query
  • Вызов: Query::replaceSelectAliases
protected function replaceSelectAliases($query)
{
	$connection = $this->entity->getConnection();
	$helper = $connection->getSqlHelper();

	$length = (int) $helper->getAliasLength();
	$leftQuote = $helper->getLeftQuote();
	$rightQuote = $helper->getRightQuote();

	$replaced = array();

	preg_match_all(
		'/ AS '.preg_quote($leftQuote).'([a-z0-9_]{'.($length+1).',})'.preg_quote($rightQuote).'/i',
		$query, $matches
	);

	if (!empty($matches[1]))
	{
		foreach ($matches[1] as $alias)
		{
			$newAlias = 'FALIAS_'.count($replaced);
			$replaced[$newAlias] = $alias;

			$query = str_replace(
				' AS ' . $helper->quote($alias),
				' AS ' . $helper->quote($newAlias) . '/* '.$alias.' */',
				$query
			);
		}
	}

	return array($query, $replaced);
}