- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/Badge/Badge.php
- Класс: Bitrix\Crm\Badge\Badge
- Вызов: Badge::bind
public function bind(ItemIdentifier $itemIdentifier, SourceIdentifier $sourceItemIdentifier): Result
{
$data = [
'TYPE' => $this->getType(),
'VALUE' => $this->getValue(),
'ENTITY_TYPE_ID' => $itemIdentifier->getEntityTypeId(),
'ENTITY_ID' => $itemIdentifier->getEntityId(),
'SOURCE_PROVIDER_ID' => $sourceItemIdentifier->getProviderId(),
'SOURCE_ENTITY_TYPE_ID' => $sourceItemIdentifier->getEntityTypeId(),
'SOURCE_ENTITY_ID' => $sourceItemIdentifier->getEntityId(),
];
$query =
BadgeTable::query()
->setSelect(['ID'])
->setLimit(1)
;
foreach ($data as $column => $value)
{
$query->where($column, $value);
}
if ($query->exec()->fetch())
{
return new Result();
}
return BadgeTable::add($data);
}