PHPackages                             vsavritsky/bitrix-filter-builder - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Search &amp; Filtering](/categories/search)
4. /
5. vsavritsky/bitrix-filter-builder

ActiveLibrary[Search &amp; Filtering](/categories/search)

vsavritsky/bitrix-filter-builder
================================

Библиотека для простого создания фильтра

0.0.8(1y ago)1390↓75%43PHPPHP &gt;=7.1

Since Aug 13Pushed 1y ago1 watchersCompare

[ Source](https://github.com/vsavritsky/bitrix-filter-builder)[ Packagist](https://packagist.org/packages/vsavritsky/bitrix-filter-builder)[ RSS](/packages/vsavritsky-bitrix-filter-builder/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (9)Used By (3)

bitrix-filter-builder
=====================

[](#bitrix-filter-builder)

Библиотека предлагает работать с фильтром битрикса в стиле ООП

```
use BitrixFilterBuilder\Filter:

//Инициализация экземпляра класса
$filter = Filter::create(); // или $filter = new Filter;
// Фильтрация по ID c пустым свойством TEST и цена с диапазоне от 1 до 10
$filter->eq('ID', 2)->eq('ID', 2)->isNull('PROPERTY_TEST')->between('CATALOG_PRICE_1', 1, 100);

```

Основные параметры
------------------

[](#основные-параметры)

eq($field, $value) - Совпадение значения

```
$filter->eq('ID', 2);

//аналогично фильтру битрикс
$filter = ['ID' => 2];

```

neq($field, $value) - Исключить значение

```
$filter->neq('ID', 2);

//аналогично фильтру битрикс
$filter = ['!ID' => 2];

```

like($field, $value) - Поиск по подстроке

```
$filter->like('NAME', 'товар');

//аналогично фильтру битрикс
$filter = ['%NAME' => 'товар'];

```

notLike($field, $value) - Поиск по отсутствию подстроки

```
$filter->notLike('NAME', 'товар');

//аналогично фильтру битрикс
$filter = ['!%NAME' => 'товар'];

```

isNull($field) - Поиск по пустому значению

```
$filter->isNull('PROPERTY_CODE');

//аналогично фильтру битрикс
$filter = ['PROPERTY_CODE' => false];

```

isNotNull($field) - Поиск по заполненному значению

```
$filter->isNotNull('PROPERTY_CODE');

//аналогично фильтру битрикс
$filter = ['!PROPERTY_CODE' => false];

```

in($field, $array) - Соответствие значению массива

```
$filter->in('ID', [1, 2, 3, 4]); // как второй параметр принимает только массив
//можно так же использовать
$filter->eq('ID', [1, 2, 3, 4]);

//аналогично фильтру битрикс
$filter = ['ID' => [1, 2, 3, 4]];

```

notIn($field, $array) - Исключение значений массива

```
$filter->notIn('ID', [1, 2, 3, 4]); // как второй параметр принимает только массив
//можно так же использовать
$filter->neq('ID', [1, 2, 3, 4]);

//аналогично фильтру битрикс
$filter = ['!ID' => [1, 2, 3, 4]];

```

Сравнение
---------

[](#сравнение)

between($field, $min, $max) - Диапозон значений

```
$filter->between('ID', 1, 10);

//аналогично фильтру битрикс
$filter = [
    '>=ID' => 1,
    '=ID' => 10];

```

lte($field, $value) - Меньше или равно значения

```
$filter->lte('ID', 10);

//аналогично фильтру битрикс
$filter = ['ID' => 10];

```

lt($field, $value) - Меньше значения

```
$filter->lt('ID', 10);

//аналогично фильтру битрикс
$filter = ['
