Класс ComparisonExpression
Сравнение — это тип выражения запроса, представляющего операцию, включающую поле, оператор и значение. В наиболее общем виде строковое представление сравнения — field = value
Краткое описание свойств
- $_field protected
string|arrayCake\Database\ExpressionInterfaceИмя поля или выражение, используемое в левой части оператора
- $_isMultiple protected
boolУказывает, является ли значение в этом выражении итерируемым
- $_operator protected
stringОператор, используемый для сравнения поля и значения
- $_type protected
string|nullТип, используемый для преобразования значения в представление базы данных
- $_value protected
mixedЗначение, используемое в правой части операции
- $_valueExpressions protected
Cake\Database\ExpressionInterface[]Кэшированный список объектов ExpressionInterface, найденных в значении для этого выражения.
Краткое описание методов
-
__clone() public
Создаёт глубокую копию.
-
__construct() public
Конструктор
-
_bindValue() protected
Регистрирует значение в генераторе плейсхолдеров и возвращает сгенерированный плейсхолдер
-
_castToExpression() protected
Условно преобразует переданное значение в объект ExpressionInterface, если тип класса реализует ExpressionTypeInterface. В противном случае возвращает значение без изменений.
-
_collectExpressions() protected
Возвращает массив с исходными значениями $values в первой позиции и всеми объектами ExpressionInterface, которые могли быть найдены во второй.
-
_flattenValue() protected
Преобразует итерируемое значение в набор плейсхолдеров, сгенерированных $binder и разделенных
, -
_requiresToExpressionCasting() protected
Возвращает массив с типами, требующими преобразования значений в выражения из списка имён типов, переданных в качестве параметра.
-
_stringExpression() protected
Возвращает шаблон и плейсхолдер для значения после его регистрации в плейсхолдере $binder
-
getField() public
Возвращает имя поля
-
getOperator() public
Возвращает оператор, используемый для сравнения
-
getValue() public
Возвращает значение, используемое для сравнения
-
setField() public
Устанавливает имя поля
-
setOperator() public
Устанавливает оператор для использования в сравнении
-
setValue() public
Устанавливает значение
-
sql() public
Преобразует узел в фрагмент строки SQL.
-
traverse() public
Рекурсивно перебирает каждую часть выражения для каждого уровня дерева выражений и выполняет вызываемый метод $callback, передавая в качестве первого параметра экземпляр выражения, который в данный момент перебирается.
Подробное описание методов
__clone() public
__clone(): void
Создать глубокую копию.
Копирует поле и значение, если они являются объектами выражения.
Возвращает
void__construct() public
__construct(stringCake\Database\ExpressionInterface $field, mixed $value, string|null $type = null, string $operator = '=')
Конструктор
Параметры
-
stringCake\Database\ExpressionInterface$field имя поля, которое нужно сравнить со значением
-
mixed$value Значение, используемое для сравнения
-
string|null$type необязательный имя типа, используемое для приведения значения
-
string$operator необязательный оператор, используемый для сравнения поля и значения
_bindValue() protected
_bindValue(mixed $value, Cake\Database\ValueBinder $binder, string|null $type = null): string
Регистрирует значение в генераторе заглушек и возвращает сгенерированную заглушку
Параметры
-
mixed$value Значение для привязки
-
Cake\Database\ValueBinder$binder Используемый связующий объект значения
-
string|null$type необязательный Тип $value
Возвращает
string_castToExpression() protected
_castToExpression(mixed $value, string|null $type = null): mixed
Условно преобразует переданное значение в объект ExpressionInterface, если класс типа реализует ExpressionTypeInterface. В противном случае возвращает значение без изменений.
Параметры
-
mixed$value Значение для преобразования в ExpressionInterface
-
string|null$type необязательный Имя типа
Возвращает
mixed_collectExpressions() protected
_collectExpressions(iterableCake\Database\ExpressionInterface $values): array
Возвращает массив с исходными значениями в первой позиции и всеми объектами ExpressionInterface, которые были найдены во второй позиции.
Параметры
-
iterableCake\Database\ExpressionInterface$values Строки для вставки
Возвращает
array_flattenValue() protected
_flattenValue(iterable $value, Cake\Database\ValueBinder $binder, string|null $type = null): string
Преобразует перебираемое значение в набор заглушек, сгенерированных $binder и разделенных ,
Параметры
-
iterable$value значение для сплющивания
-
Cake\Database\ValueBinder$binder Используемый связующий объект значения
-
string|null$type необязательный тип для приведения значений
Возвращает
string_requiresToExpressionCasting() protected
_requiresToExpressionCasting(array $types): array
Возвращает массив с типами, которые требуют приведения значений к выражениям, из списка имен типов, переданных в качестве параметра.
Параметры
-
array$types Список имен типов
Возвращает
array_stringExpression() protected
_stringExpression(Cake\Database\ValueBinder $binder): array
Возвращает шаблон и заглушку для значения после регистрации его с заглушкой $binder
Параметры
-
Cake\Database\ValueBinder$binder Используемый связующий объект значения.
Возвращает
arraygetField() public
getField(): string|arrayCake\Database\ExpressionInterface
Возвращает имя поля
Возвращает
string|arrayCake\Database\ExpressionInterfacegetOperator() public
getOperator(): string
Возвращает оператор, используемый для сравнения
Возвращает
stringgetValue() public
getValue(): mixed
Возвращает значение, используемое для сравнения
Возвращает
mixedsetField() public
setField(string|arrayCake\Database\ExpressionInterface $field): void
Устанавливает имя поля
Параметры
-
string|arrayCake\Database\ExpressionInterface$field Поле для сравнения.
Возвращает
voidsetOperator() public
setOperator(string $operator): void
Устанавливает оператор для сравнения
Параметры
-
string$operator Оператор для сравнения.
Возвращает
voidsetValue() public
setValue(mixed $value): void
Устанавливает значение
Параметры
-
mixed$value Значение для сравнения
Возвращает
voidsql() public
sql(Cake\Database\ValueBinder $binder): string
Преобразует узел в фрагмент SQL-строки.
Параметры
-
Cake\Database\ValueBinder$binder
Возвращает
stringtraverse() public
traverse(Closure $callback): $this
Итерирует по каждой части выражения рекурсивно для каждого уровня дерева выражений и выполняет вызов $callback, передавая в качестве первого параметра экземпляр выражения, по которому в данный момент итерируется.
Параметры
-
Closure$callback
Возвращает
$thisПодробное описание свойств
$_field protected
Имя поля или выражение, используемое в левой части оператора
Тип
string|arrayCake\Database\ExpressionInterface$_isMultiple protected
Является ли значение в этом выражении итерируемым
Тип
bool$_operator protected
Оператор, используемый для сравнения поля и значения
Тип
string$_type protected
Тип, используемый для приведения значения к представлению в базе данных
Тип
string|null$_value protected
Значение, используемое в правой части операции
Тип
mixed$_valueExpressions protected
Кэшированный список объектов ExpressionInterface, которые были найдены в значении для этого выражения.
Тип
Cake\Database\ExpressionInterface[]
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.2/class-Cake.Database.Expression.ComparisonExpression.html