• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/entity_query_chain.php
  • Класс: CEntityQueryChain
  • Вызов: CEntityQueryChain::getAliasByDefinition
static function getAliasByDefinition(CBaseEntity $entity, $definition)
{
	$alias = array();

	foreach (explode('.', $definition) as $elem)
	{
		if ($elem === strtoupper($elem))
		{
			// field
			$alias[] = $elem;
		}
		else
		{
			// entity
			$tmp = explode(':', $elem);
			$alias[] = CBaseEntity::camel2snake($tmp[0]);

			// or link from entity
			if (!empty($tmp[1]))
			{
				$alias[] = $tmp[1];
			}
		}
	}

	$strAlias = join('_', $alias);

	if (count($alias) > 1)
	{
		// doesn't apply for fields of initial entity
		$strAlias = CBaseEntity::camel2snake($entity->getName()).'_'.$strAlias;
	}

	return strtoupper($strAlias);
}