• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/internals/orderprops_relation.php
  • Класс: BitrixSaleInternalsOrderPropsRelationTable
  • Вызов: OrderPropsRelationTable::getRelationsByPropertyIdList
static function getRelationsByPropertyIdList(array $propertyIds) : array
{
	static $relations = [];

	$diff = array_diff($propertyIds, array_keys($relations));
	if ($diff)
	{
		$dbRes = static::getList([
			'select' => ['PROPERTY_ID', 'ENTITY_ID', 'ENTITY_TYPE'],
			'filter' => ['@PROPERTY_ID' => $diff]
		]);

		while ($data = $dbRes->fetch())
		{
			$relations[$data['PROPERTY_ID']][] = [
				'ENTITY_ID' => $data['ENTITY_ID'],
				'ENTITY_TYPE' => $data['ENTITY_TYPE']
			];
		}

		foreach ($diff as $id)
		{
			$relations[$id] = $relations[$id] ?? [];
		}
	}

	return array_intersect_key($relations, array_fill_keys($propertyIds, true));
}