- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/search/result/provider/indexsupportedprovider.php
- Класс: Bitrix\Crm\Search\Result\Provider\IndexSupportedProvider
- Вызов: IndexSupportedProvider::searchInShortIndex
protected function searchInShortIndex(string $searchQuery, int $limit = 0, array $excludedIds = []): array
{
$query = $this->getIndexTableQuery();
$columnName = $this->getShortIndexColumnName();
if (!empty($this->additionalFilter))
{
$referenceFilter = (new ConditionTree())
->whereColumn('this.' . $columnName, 'ref.ID')
;
$this->addToReferenceFilter($referenceFilter, $this->additionalFilter);
$query->registerRuntimeField('',
new \Bitrix\Main\Entity\ReferenceField('ENTITY',
$this->getEntityTableQuery()->getEntity(),
$referenceFilter,
['join_type' => 'INNER'],
)
);
}
if (!empty($excludedIds))
{
$query->whereNotIn($columnName, $excludedIds);
}
if ($limit > 0)
{
$query->setLimit($limit);
}
return $this->fetchColumnValuesFromIndex(
$query,
$columnName,
$searchQuery
);
}