getUserSearchFilter
\Bitrix\Main\UserUtils::getUserSearchFilter ( $fields )
Статический метод позволяет получить специально сформированный массив для фильтрации в Main\UserTable::getList
по полям с персональными данными (имя, фамилия, отчество, название подразделения, должность).Работает в двух режимах: быстро с помощью Fulltext Index и более медленный вариант через
правый LIKE
USER_NAME LIKE "Текст%" - это называется правый лайк, когда поиск осуществляется
только по тексту который начинается на заданную фразу, но может
содержать разные окончания - такой поиск существенно быстрее чем
у двухстороннего лайка "%текст%" или левостороенного "%текст" - за счет
архитектуры хранения индексированных полей в БД
(поддержка определяется автоматически).
Параметры
Параметр | Описание | С версии |
---|---|---|
fields | Массив может содержать поля в любом сочетании:
|
Пример
$filter = \Bitrix\Main\UserUtils::getUserSearchFilter(Array( 'FIND' => 'Мария Ившина' )); $filter['IS_REAL_USER'] = 'Y'; $record = \Bitrix\Main\UserTable::getList(Array( 'select' => Array('ID', 'NAME', 'SECOND_NAME', 'LAST_NAME', 'WORK_POSITION', 'UF_DEPARTMENT'), 'filter' => $filter ))->fetchAll(); print_r($record);