• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/binding/contactcompany.php
  • Класс: Bitrix\Crm\Binding\ContactCompanyTable
  • Вызов: ContactCompanyTable::getBulkContactBindings
static function getBulkContactBindings(array $contactIDs)
{
	\Bitrix\Main\Type\Collection::normalizeArrayValuesByInt($contactIDs, false);
	if (empty($contactIDs))
	{
		return [];
	}

	$bindingMap = array();
	foreach($contactIDs as $contactID)
	{
		$bindingMap[$contactID] = array();
	}

	$dbResult = self::getList(
		array(
			'filter' => array('@CONTACT_ID' => $contactIDs),
			'select' => array('COMPANY_ID', 'CONTACT_ID', 'SORT', 'ROLE_ID', 'IS_PRIMARY'),
			'order' => array('CONTACT_ID' => 'ASC', 'SORT' => 'ASC')
		)
	);
	while($ary = $dbResult->fetch())
	{
		$bindingMap[$ary['CONTACT_ID']][] = array(
			'COMPANY_ID' => (int)$ary['COMPANY_ID'],
			'SORT' => (int)$ary['SORT'],
			'ROLE_ID' => (int)$ary['ROLE_ID'],
			'IS_PRIMARY' => $ary['IS_PRIMARY']
		);
	}
	return $bindingMap;
}