- Модуль: 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));
}