• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Model/FieldContentTypeTable.php
  • Класс: Bitrix\Crm\Model\FieldContentTypeTable
  • Вызов: FieldContentTypeTable::loadForMultipleItems
static function loadForMultipleItems(int $entityTypeId, array $itemIds): array
{
	\Bitrix\Main\Type\Collection::normalizeArrayValuesByInt($itemIds);
	if (empty($itemIds))
	{
		return [];
	}

	$itemsToLoad = [];
	foreach ($itemIds as $itemId)
	{
		if (!isset(self::$cache[$entityTypeId][$itemId]))
		{
			$itemsToLoad[$itemId] = $itemId;
		}
	}

	if (!empty($itemsToLoad))
	{
		$dbResult =
			self::query()
				->setSelect(['ENTITY_ID', 'FIELD_NAME', 'CONTENT_TYPE_ID'])
				->where('ENTITY_TYPE_ID', $entityTypeId)
				->whereIn('ENTITY_ID', $itemsToLoad)
				->exec()
		;

		self::$cache[$entityTypeId] ??= [];
		while ($row = $dbResult->fetchObject())
		{
			self::$cache[$entityTypeId][$row->getEntityId()][$row->getFieldName()] = (int)$row->getContentTypeId();
		}
	}

	return array_filter(
		self::$cache[$entityTypeId],
		fn(int $itemId) => in_array($itemId, $itemIds, true),
		ARRAY_FILTER_USE_KEY,
	);
}