maximaster / bitrix-orm-condition
Удобные классы для работы с построением условий ORM-запросов.
Installs: 65
Dependents: 1
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 0
Open Issues: 0
pkg:composer/maximaster/bitrix-orm-condition
Requires
- php: >=7.4
- maximaster/bitrix-enums: >=18.5
This package is auto-updated.
Last update: 2025-09-28 11:14:20 UTC
README
Удобные классы для работы с построением условий ORM-запросов.
Класс Column
Упрощает создание Condition
.
- создаётся из имени колонки;
- с помощью методов equals, greater и аналогичных создаёт
Condition
илиConditionTree
:
use Maximaster\BitrixOrmCondition\Column; // Получаем ConditionTree который можно добавить в ::query()->where(...). Column::of('NAME')->equals('Вася')->toTree(); // Есть ряд удобных методов строго типизирующие входные значения. Column::of('ID')->foundIn(ElementTable::query()->where(/*...*/));
Важно! На текущий момент класс использует стратегию "NULL - это минус
бесконечность". Например, при использовании метода less(5)
вы получите и те
строки, у которых значение NULL
. Данная логика может быть желательной или
нежелательной в зависимости от ситуации. В будущем планируется дать возможность
управлять данным поведением.
Класс Condition
- использует типизированный Operator вторым аргументом конструктора.
Класс ConditionTree
- имеет методы forAny/forAll, для включения logic через or/and;
- позволяет опционально через конструктор указать вложенные условия и логику;
- чинит баг метода
where
при входных данныхCondition[]|ConditionTree[]
.