Класс TupleComparison
Это выражение представляет фрагменты SQL, используемые для сравнения одной кортежа с другой, одной кортежи с набором других кортежей или одной кортежи с выражением
Краткое описание свойств
- $_field protected
string|arrayCake\Database\ExpressionInterfaceИмя поля или выражение, используемое в левой части оператора
- $_isMultiple protected
boolУказывает, является ли значение в этом выражении итерируемым
- $_operator protected
stringОператор, используемый для сравнения поля и значения
- $_type protected
array<string|null>Тип, используемый для приведения значения к представлению базы данных
- $_value protected
mixedЗначение, используемое в правой части операции
- $_valueExpressions protected
Cake\Database\ExpressionInterface[]Кэшированный список объектов ExpressionInterface, найденных в значении для этого выражения.
Краткое описание методов
-
__clone() public
Создать глубокую копию.
-
__construct() public
Конструктор
-
_bindValue() protected
Регистрирует значение в генераторе заменителей и возвращает сгенерированный заполнитель
-
_castToExpression() protected
Условно преобразует переданное значение в объект ExpressionInterface, если класс типа реализует ExpressionTypeInterface. В противном случае возвращает значение без изменений.
-
_collectExpressions() protected
Возвращает массив с исходными значениями в первой позиции и всеми объектами ExpressionInterface, которые были найдены во второй позиции.
-
_flattenValue() protected
Преобразует итерируемое значение в набор заготовок, сгенерированных $binder и разделенных
, -
_requiresToExpressionCasting() protected
Возвращает массив типов, для которых значения должны быть преобразованы в выражения, из списка имен типов, переданных в качестве параметра.
-
_stringExpression() protected
Возвращает шаблон и заполнитель для значения после его регистрации в placeholder $binder
-
_stringifyValues() protected
Возвращает строку со значениями в виде заготовок в строке, которая будет использована для SQL-версии этого выражения
-
_traverseValue() protected
Условно выполняет обратный вызов для переданного значения, если оно является ExpressionInterface
-
getField() public
Возвращает имя поля
-
getOperator() public
Возвращает оператор, используемый для сравнения
-
getType() public
Возвращает тип, используемый для приведения значения к представлению базы данных
-
getValue() public
Возвращает значение, используемое для сравнения
-
isMulti() public
Определяет, является ли каждое из значений в этом выражении кортежем в себе
-
setField() public
Устанавливает имя поля
-
setOperator() public
Устанавливает оператор для использования при сравнении
-
setValue() public
Устанавливает значение
-
sql() public
Преобразует узел в фрагмент строки SQL.
-
traverse() public
Итерируется по каждой части выражения рекурсивно для каждого уровня дерева выражений и выполняет вызываемый $callback с экземпляром выражения, по которому в данный момент происходит итерация, в качестве первого параметра.
Подробное описание методов
__clone() public
__clone(): void
Создать глубокую копию.
Копирует поле и значение, если они являются объектами выражения.
Возвращает
void__construct() public
__construct(string|arrayCake\Database\ExpressionInterface $fields, arrayCake\Database\ExpressionInterface $values, array<string|null> $types = [], string $conjunction = '=')
Конструктор
Параметры
-
string|arrayCake\Database\ExpressionInterface$fields поля, используемые для формирования кортежа
-
arrayCake\Database\ExpressionInterface$values значения, используемые для формирования кортежа
-
array<string|null>$types необязательно имена типов, используемые для преобразования каждого из значений; требуется только один тип на позицию в массиве значений
-
string$conjunction необязательно оператор, используемый для сравнения поля и значения
_bindValue() protected
_bindValue(mixed $value, Cake\Database\ValueBinder $binder, string|null $type = null): string
Регистрирует значение в генераторе плейсхолдеров и возвращает сгенерированный плейсхолдер
Параметры
-
mixed$value -
Cake\Database\ValueBinder$binder -
string|null$type необязательно
Возвращает
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 Используемый связующий объект для значений.
Возвращает
array_stringifyValues() protected
_stringifyValues(Cake\Database\ValueBinder $binder): string
Возвращает строку со значениями в качестве плейсхолдеров в строке, используемой для SQL-версии данного выражения
Параметры
-
Cake\Database\ValueBinder$binder Связующий объект для преобразования выражений.
Возвращает
string_traverseValue() protected
_traverseValue(mixed $value, Closure $callback): void
Условно выполняет обратный вызов для переданного значения, если это ExpressionInterface
Параметры
-
mixed$value Значение для обхода
-
Closure$callback Используемая вызываемая функция при обходе
Возвращает
voidgetField() public
getField(): string|arrayCake\Database\ExpressionInterface
Возвращает имя поля
Возвращает
string|arrayCake\Database\ExpressionInterfacegetOperator() public
getOperator(): string
Возвращает оператор, используемый для сравнения
Возвращает
stringgetType() public
getType(): array<string|null>
Возвращает тип, используемый для преобразования значения в представление базы данных
Возвращает
array<string|null>getValue() public
getValue(): mixed
Возвращает значение, используемое для сравнения
Возвращает
mixedisMulti() public
isMulti(): bool
Определяет, является ли каждое из значений в этом выражении кортежем
Возвращает
boolsetField() 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
Тип, используемый для преобразования значения в представление базы данных
Тип
array<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.TupleComparison.html