- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/lib/V2/MessageCollection.php
- Класс: BitrixImV2MessageCollection
- Вызов: MessageCollection::find
static function find(array $filter, array $order, ?int $limit = null, ?Context $context = null, array $select = []): self
{
$context = $context ?? Locator::getContext();
$query = MessageTable::query();
$query->setSelect(['ID']);
if (isset($limit))
{
$query->setLimit($limit);
}
$messageOrder = ['ID' => 'DESC'];
if (isset($order['ID']))
{
$messageOrder['ID'] = $order['ID'];
}
$query->setOrder($messageOrder);
static::processFilters($query, $filter, $messageOrder);
$messageIds = $query->fetchCollection()->getIdList();
if (empty($messageIds))
{
return new static();
}
if (empty($select))
{
return new static($messageIds);
}
return new static(MessageTable::query()->whereIn('ID', $messageIds)->setSelect($select)->fetchCollection());
}