DuplicateRequisiteCriterion::loadEntitiesMatches

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. DuplicateRequisiteCriterion
  4. loadEntitiesMatches
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integrity/duplicaterequisitecriterion.php
  • Класс: Bitrix\Crm\Integrity\DuplicateRequisiteCriterion
  • Вызов: DuplicateRequisiteCriterion::loadEntitiesMatches
static function loadEntitiesMatches($entityTypeID, array $entityIDs, $countryId, $fieldName)
{
	if(!is_int($countryId))
	{
		throw new Main\ArgumentTypeException('countryId', 'integer');
	}

	if(!is_string($fieldName))
	{
		throw new Main\ArgumentTypeException('fieldName', 'string');
	}

	$query = new Main\Entity\Query(DuplicateRequisiteMatchCodeTable::getEntity());
	$query->addFilter('=ENTITY_TYPE_ID', $entityTypeID);
	$query->addFilter('@ENTITY_ID', $entityIDs);
	if ($countryId > 0)
		$query->addFilter('=RQ_COUNTRY_ID', $countryId);
	$query->addFilter('=RQ_FIELD_NAME', $fieldName);

	$query->addSelect('VALUE');
	$query->addSelect('RQ_COUNTRY_ID');

	$dbResult = $query->exec();
	$results = array();
	while($fields = $dbResult->fetch())
	{
		$entityID = isset($fields['ENTITY_ID']) ? (int)$fields['ENTITY_ID'] : 0;
		if($entityID <= 0)
		{
			continue;
		}

		if(!isset($results[$entityID]))
		{
			$results[$entityID] = array();
		}

		$results[$entityID][] = array(
			'RQ_COUNTRY_ID' => $fields['RQ_COUNTRY_ID'],
			'RQ_FIELD_NAME' => $fieldName,
			'VALUE' => isset($fields['VALUE']) ? $fields['VALUE'] : ''
		);
	}
	return $results;
}

Добавить комментарий