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