• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/entity_query_chain_element.php
  • Класс: CEntityQueryChainElement
  • Вызов: CEntityQueryChainElement::getSqlDefinition
public function getSqlDefinition()
{
	if (is_array($this->value) || $this->value instanceof CReferenceEntityField || $this->value instanceof CBaseEntity)
	{
		throw new Exception('');
	}

	if ($this->value instanceof CExpressionEntityField)
	{
		$SQLBuildFrom = array();

		foreach ($this->value->getBuildFromChains() as $chain)
		{
			$SQLBuildFrom[] = $chain->GetSQLDefinition();
		}

		// join
		$sql = call_user_func_array('sprintf', array_merge(array($this->value->getExpression()), $SQLBuildFrom));
	}
	else
	{
		global $DB;

		$sql = $DB->escL . $this->getParameter('talias') . $DB->escR . '.';
		$sql .= $DB->escL . $this->value->getName() . $DB->escR;
	}

	return $sql;
}