32 return AnchorItem::class;
37 $query = AnchorTable::query()
38 ->setSelect([
'ID',
'CHAT_ID',
'MESSAGE_ID',
'USER_ID',
'FROM_USER_ID',
'TYPE',
'SUB_TYPE'])
50 return new self(
$query->fetchAll());
62 foreach ($this as $anchorItem)
65 $rest[] = $anchorItem->toRestFormat(
$option);
71 public function fillParents(
array $map): void
73 foreach ($this as $anchorItem)
76 $parent =
$map[$anchorItem->getChatId()] ??
null;
82 $parentChatId = (int)($parent[
'PARENT_CHAT_ID'] ?? 0);
83 $parentMessageId = (int)($parent[
'PARENT_MESSAGE_ID'] ?? 0);
85 $anchorItem->setParentChatId($parentChatId);
86 $anchorItem->setParentMessageId($parentMessageId);
92 $messageIds = $this->getMessageIdList();
93 if (empty($messageIds))
98 $messageIds = array_unique($messageIds);
99 if (
count($messageIds) === 1)
101 return array_shift($messageIds);
121 if (isset(
$filter[
'FROM_USER_ID']))
131 if (isset(
$filter[
'MESSAGE_ID']))
133 if (is_array(
$filter[
'MESSAGE_ID']) && !empty(
$filter[
'MESSAGE_ID']))