• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/orm/query/query.php
  • Класс: Bitrix\Main\ORM\Query\Query
  • Вызов: Query::buildSelect
protected function buildSelect()
{
	$sql = [];

	foreach ($this->select_chains as $chain)
	{
		$sql[] = $chain->getSqlDefinition(true);
	}

	// empty select (or select forced primary only)
	if (empty($sql) ||
		(!empty($this->forcedObjectPrimaryFields) && count($sql) == count($this->forcedObjectPrimaryFields))
	)
	{
		$sql[] = 1;
	}

	$strSql = join(",\n\t", $sql);

	if ($this->hasDistinct() && $this->is_distinct)
	{
		// distinct by query settings, not by field
		$strSql = 'DISTINCT '.$strSql;
	}

	return "\n\t".$strSql;
}