• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/MessageCollection.php
  • Класс: BitrixImV2MessageCollection
  • Вызов: MessageCollection::fillUuid
public function fillUuid(): self
{
	$messageIds = $this->getIds();
	if (!$this->isUuidFilled && !empty($messageIds))
	{
		$uuids = MessageUuidTable::query()
			->setSelect(['UUID', 'MESSAGE_ID'])
			->whereIn('MESSAGE_ID', $this->getIds())
			->fetchAll()
		;

		$uuidsByMessageId = [];
		foreach ($uuids as $uuid)
		{
			$uuidsByMessageId[$uuid['MESSAGE_ID']] = $uuid['UUID'];
		}

		foreach ($this as $message)
		{
			$message->setUuid($uuidsByMessageId[$message->getId()] ?? null);
		}

		$this->isUuidFilled = true;
	}

	return $this;
}