• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/orm/data/datamanager.php
  • Класс: Bitrix\Main\ORM\Data\DataManager
  • Вызов: DataManager::getList
static function getList(array $parameters = array())
{
	$query = static::query();

	if(!isset($parameters['select']))
	{
		$query->setSelect(array('*'));
	}

	foreach($parameters as $param => $value)
	{
		switch($param)
		{
			case 'select':
				$query->setSelect($value);
				break;
			case 'filter':
				$value instanceof Filter ? $query->where($value) : $query->setFilter($value);
				break;
			case 'group':
				$query->setGroup($value);
				break;
			case 'order';
				$query->setOrder($value);
				break;
			case 'limit':
				$query->setLimit($value);
				break;
			case 'offset':
				$query->setOffset($value);
				break;
			case 'count_total':
				$query->countTotal($value);
				break;
			case 'runtime':
				foreach ($value as $name => $fieldInfo)
				{
					$query->registerRuntimeField($name, $fieldInfo);
				}
				break;
			case 'data_doubling':
				if($value)
				{
					$query->enableDataDoubling();
				}
				else
				{
					$query->disableDataDoubling();
				}
				break;
			case 'private_fields':
				if($value)
				{
					$query->enablePrivateFields();
				}
				else
				{
					$query->disablePrivateFields();
				}
				break;
			case 'cache':
				$query->setCacheTtl($value["ttl"]);
				if(isset($value["cache_joins"]))
				{
					$query->cacheJoins($value["cache_joins"]);
				}
				break;
			default:
				throw new Main\ArgumentException("Unknown parameter: ".$param, $param);
		}
	}

	return $query->exec();
}