- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/binding/entitybinding.php
- Класс: Bitrix\Crm\Binding\EntityBinding
- Вызов: EntityBinding::removeBindingsWithDuplicatingEntityIDs
static function removeBindingsWithDuplicatingEntityIDs(int $entityTypeID, array &$bindings): void
{
self::validateEntityTypeId($entityTypeID);
// No sense in search for duplicates in the array of 1 or 0 elements
if (count($bindings) < 2)
{
return;
}
// Sort bindings by entityId
$entityIds = self::prepareEntityIDs($entityTypeID, $bindings);
array_multisort($bindings, SORT_ASC, $entityIds);
$indexMax = count($bindings);
for ($index = 1; $index < $indexMax; $index++)
{
$currentEntityId = self::resolveEntityID($entityTypeID, $bindings[$index]);
$previousEntityId = self::resolveEntityID($entityTypeID, $bindings[$index - 1]);
if ($currentEntityId === $previousEntityId)
{
$duplicatingIndex = self::findBindingIndexByEntityID($entityTypeID, $currentEntityId, $bindings);
unset($bindings[$duplicatingIndex]);
}
}
}