createWithFilter
self public static \Bitrix\HumanResources\Builder\Structure\NodeMemberDataBuilder::createWithFilter( \Bitrix\HumanResources\Contract\Builder\Filter $filter );
Метод создает билдер данных участников узлов структуры и добавляет в него фильтр. Статический метод.
Параметры
| Параметр | Описание |
|---|---|
$filter |
Объект с условиями выборки, который реализует интерфейс \Bitrix\HumanResources\Contract\Builder\Filter |
Возвращаемое значение
Метод возвращает новый объект \Bitrix\HumanResources\Builder\Structure\NodeMemberDataBuilder с добавленным фильтром.
Поля настроек возвращаемого объекта:
| Поле | Значение после вызова | Метод получения |
|---|---|---|
filters |
Массив из одного объекта, переданного в параметре $filter и реализующего интерфейс \Bitrix\HumanResources\Contract\Builder\Filter |
getFilters() |
limit |
0 — количество записей не ограничено |
getLimit() |
offset |
0 — смещение не задано |
getOffset() |
cacheTtl |
86400 секунд |
getCacheTtl() |
select |
Поля ID, ENTITY_TYPE, ENTITY_ID, NODE_ID, ACTIVE, ADDED_BY, CREATED_AT, UPDATED_AT и ROLE |
getSelect() |
sort |
null — сортировка не задана |
getSort() |
Поля настроек недоступны для прямого чтения. Получайте их значения через методы, указанные в таблице.
Особенности
Вызов эквивалентен созданию объекта билдера и последующему вызову addFilter().
Методы setLimit(), setOffset(), setCacheTtl(), setSelect() и setSort() настраивают выборку. Метод get() возвращает первый результат, а getAll() — все результаты.
Пример
<?php
use Bitrix\HumanResources\Builder\Structure\Filter\Column\EntityIdFilter;
use Bitrix\HumanResources\Builder\Structure\Filter\NodeMemberFilter;
use Bitrix\HumanResources\Builder\Structure\NodeMemberDataBuilder;
use Bitrix\Main\Loader;
if (!Loader::includeModule('humanresources'))
{
echo 'Модуль humanresources не установлен';
return;
}
// Идентификатор пользователя, который состоит в структуре
$userId = 1;
try
{
$members = NodeMemberDataBuilder::createWithFilter(
new NodeMemberFilter(
entityIdFilter: EntityIdFilter::fromEntityId($userId),
),
)->getAll();
if ($members->empty())
{
echo 'Привязки пользователя к узлам не найдены';
return;
}
echo 'Идентификаторы узлов: ' . implode(', ', $members->getNodeIds());
}
catch (\Throwable $exception)
{
echo 'Не удалось получить участников узлов: ' . $exception->getMessage();
}
Была ли эта страница полезна?
Что можно улучшить?
Пользовательские комментарии
Помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2026, «1С-Битрикс», 2026