• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/Message/CounterService.php
  • Класс: BitrixImV2MessageCounterService
  • Вызов: CounterService::getCountUnreadMessagesByChatIdForEachUsers
protected function getCountUnreadMessagesByChatIdForEachUsers(int $chatId, ?array $userIds = null): array
{
	$query = MessageUnreadTable::query()
		->setSelect(['USER_ID', 'COUNT'])
		->where('CHAT_ID', $chatId)
		->setGroup(['USER_ID'])
		->registerRuntimeField('COUNT', new ExpressionField('COUNT', 'COUNT(*)'))
	;
	if (isset($userIds) && !empty($userIds))
	{
		$query->whereIn('USER_ID', $userIds);
	}

	return $query->fetchAll();
}