• Модуль: highloadblock
  • Путь к файлу: ~/bitrix/modules/highloadblock/lib/highloadblocktable.php
  • Класс: BitrixHighloadblockHighloadBlockTable
  • Вызов: HighloadBlockTable::getMap
static function getMap()
{
	IncludeModuleLangFile(__FILE__);

	$sqlHelper = Application::getConnection()->getSqlHelper();

	/** @noinspection PhpMethodParametersCountMismatchInspection */
	$fieldsMap = array(
		'ID' => array(
			'data_type' => 'integer',
			'primary' => true,
			'autocomplete' => true
		),
		'NAME' => array(
			'data_type' => 'string',
			'required' => true,
			'validation' => array(__CLASS__, 'validateName')
		),
		'TABLE_NAME' => array(
			'data_type' => 'string',
			'required' => true,
			'validation' => array(__CLASS__, 'validateTableName')
		),
		'FIELDS_COUNT' => array(
			'data_type' => 'integer',
			'expression' => array(
				'(SELECT COUNT(ID) FROM b_user_field WHERE b_user_field.ENTITY_ID = '.
					$sqlHelper->getConcatFunction("'".self::ENTITY_ID_PREFIX."'", $sqlHelper->castToChar('%s')).')',
				'ID'
			)
		),
		'LANG' => new EntityReferenceField(
			'LANG',
			'BitrixHighloadblockHighloadBlockLangTable',
			array('=this.ID' => 'ref.ID', 'ref.LID' => new MainDBSqlExpression('?', LANGUAGE_ID))
		),
	);

	return $fieldsMap;
}