Предоставляет методы для построения сложных вложенных условий при работе с базой фактов.
where(field, operator, value)
Добавляет простое условие к запросу. Аналогично методу where
объекта FactQuery
.
Сигнатура: where(field string, operator string, value mixed) FactQueryCondition
Аргументы:
field
— название поля, к которому применяется условие.operator
— оператор сравнения (например, "="
, "~"
, "in"
, см. доступные операторы в FactQuery
).value
— значение для сравнения с полем.Пример использования:
$condition = fact.cond().where("context", "~", "^.*example.*$");
// Условие: поле "context" содержит подстроку "example".
andWhere(field, operator, value)
Добавляет простое условие, объединенное с предыдущими условиями по логическому «И». Аналогично методу andWhere
объекта FactQuery
.
Сигнатура: andWhere(field string, operator string, value mixed) FactQueryCondition
Аргументы:
field
— название поля, к которому применяется условие.operator
— оператор сравнения.value
— значение для сравнения с полем.Пример использования:
$condition = fact.cond()
.where("context", "~", "^.*example.*$")
.andWhere("name", "=", "test"); // Условия: "context" содержит "example" И "name" равно "test".
orWhere(field, operator, value)
Добавляет простое условие, объединенное с предыдущими условиями по логическому «ИЛИ». Аналогично методу orWhere
объекта FactQuery
.
Сигнатура: orWhere(field string, operator string, value mixed) FactQueryCondition
Аргументы:
field
— название поля, к которому применяется условие.operator
— оператор сравнения.value
— значение для сравнения с полем.Пример использования:
$condition = fact.cond()
.where("context", "=", "example")
.orWhere("name", "=", "test"); // Условия: "context" равно "example" ИЛИ "name" равно "test".
where(cond)
Добавляет вложенное условие. Аналогично методу where(cond)
объекта FactQuery
.
Сигнатура: where(cond FactQueryCondition) FactQueryCondition
Аргументы: cond
— объект FactQueryCondition
, представляющий вложенное условие.
Пример использования:
$nestedCondition = fact.cond()
.where("name", "=", "example")
.orWhere("name", "^@", "test");
$condition = fact.cond()
.where("context", "~", "^.*example.*$")
.andWhere($nestedCondition); // Условие: "context" содержит "example" И ("name" равно "example" ИЛИ начинается с "test").
and(cond)
Добавляет вложенное условие, объединенное с предыдущими по логическому «И». Аналогично методу andWhere(cond)
объекта FactQuery
.
Сигнатура: and(cond FactQueryCondition) FactQueryCondition
Аргументы: cond
— объект FactQueryCondition
, представляющий вложенное условие.
Пример использования:
$nestedCondition = fact.cond()
.where("name", "=", "example");
$condition = fact.cond()
.where("context", "~", "^.*example.*$")
.and($nestedCondition); // Условие: "context" содержит "example" И ("name" равно "example").
or(cond)
Добавляет вложенное условие, объединенное с предыдущими по логическому «ИЛИ». Аналогично методу orWhere(cond)
объекта FactQuery
.
Сигнатура: or(cond FactQueryCondition) FactQueryCondition
Аргументы: cond
— объект FactQueryCondition
, представляющий вложенное условие.
Пример использования:
$nestedCondition = fact.cond()
.where("name", "=", "example");
$condition = fact.cond()
.where("context", "~", "^.*example.*$")
.or($nestedCondition); // Условие: "context" содержит "example" ИЛИ ("name" равно "example").