Класс ComparisonExpression
Сравнение — это тип выражения запроса, представляющий операцию, включающую поле, оператор и значение. В своем наиболее распространенном виде строковое представление сравнения — field = value
Краткое описание свойств
- $_field protected
Cake\Database\ExpressionInterface|array|stringИмя поля или выражение, используемое в левой части оператора
- $_isMultiple protected
boolУказывает, является ли значение в этом выражении итерируемым
- $_operator protected
stringОператор, используемый для сравнения поля и значения
- $_type protected
string|nullТип, используемый для преобразования значения в представление базы данных
- $_value protected
mixedЗначение, используемое в правой части операции
- $_valueExpressions protected
arrayCake\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(Cake\Database\ExpressionInterface|string $field, mixed $value, string|null $type = null, string $operator = '=')
Конструктор
Параметры
-
Cake\Database\ExpressionInterface|string$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(Cake\Database\ExpressionInterface|iterable $values): array
Возвращает массив с исходными $значениями на первом месте и всеми объектами ExpressionInterface, которые могли быть найдены на втором месте.
Параметры
-
Cake\Database\ExpressionInterface|iterable$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(): Cake\Database\ExpressionInterface|array|string
Возвращает имя поля
Возвращает
Cake\Database\ExpressionInterface|array|stringgetOperator() public
getOperator(): string
Возвращает оператор, используемый для сравнения
Возвращает
stringgetValue() public
getValue(): mixed
Возвращает значение, используемое для сравнения
Возвращает
mixedsetField() public
setField(Cake\Database\ExpressionInterface|array|string $field): void
Устанавливает имя поля
Параметры
-
Cake\Database\ExpressionInterface|array|string$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
Имя поля или выражение, используемое в левой части оператора
Тип
Cake\Database\ExpressionInterface|array|string$_isMultiple protected
Является ли значение в этом выражении итерируемым
Тип
bool$_operator protected
Оператор, используемый для сравнения поля и значения
Тип
string$_type protected
Тип, используемый для преобразования значения в представление базы данных
Тип
string|null$_value protected
Значение, используемое в правой части операции
Тип
mixed$_valueExpressions protected
Кэшированный список объектов ExpressionInterface, которые были найдены в значении для этого выражения.
Тип
arrayCake\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.3/class-Cake.Database.Expression.ComparisonExpression.html