maximaster/bitrix-orm-condition

便于使用ORM查询条件构建的类。

v1.0.1 2024-08-28 09:02 UTC

This package is auto-updated.

Last update: 2024-08-28 09:03:53 UTC


README

便于使用ORM查询条件构建的类。

Column

简化了Condition的创建。

  • 从列名创建;
  • 通过equals、greater等方法创建ConditionConditionTree
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方法,用于通过or/and包含逻辑;
  • 允许通过构造函数可选地指定嵌套条件和逻辑;
  • 修复了当输入为Condition[]|ConditionTree[]where方法的bug。