Spec-Zone.ru › CakePHP 4.4

Класс
CaseExpression

Этот класс представляет оператор SQL Case.

Пространство имен: Cake\Database\Expression
Устаревший: 4.3.0 Используйте QueryExpression::case() или CaseStatementExpression вместо этого

Краткое описание свойств

  • $_conditions protected
    array

    Список строк или других объектов выражений, представляющих условия оператора case. Например, один ключ массива может выглядеть как "sum > :value".

  • $_elseValue protected
    Cake\Database\ExpressionInterface|array|string|null

    Значение ELSE для оператора case. Если null, то ELSE не будет включено.

  • $_values protected
    array

    Значения, связанные с условиями в массиве $_conditions. Каждое значение представляет значение 'true' для условия с соответствующим ключом.

Краткое описание методов

  • __construct() public

    Создает выражение case

  • _addExpressions() protected

    Перебирает переданные условия и гарантирует, что для каждого из них есть соответствующее истинное значение. Если нет соответствующего истинного значения, то оно устанавливается по умолчанию в '1'.

  • _castToExpression() protected

    Условно преобразует переданное значение в объект ExpressionInterface, если класс типа реализует ExpressionTypeInterface. В противном случае возвращает значение без изменений.

  • _compile() protected

    Компилирует соответствующие части в sql

  • _requiresToExpressionCasting() protected

    Возвращает массив с типами, которые требуют приведения значений к выражениям, из списка имен типов, переданных в качестве параметра.

  • add() public

    Добавляет одно или несколько условий и их соответствующие истинные значения к объекту case. Условия должны быть одномерным массивом или QueryExpression. trueValues должны иметь аналогичную структуру, но могут содержать строковое значение.

  • elseValue() public

    Устанавливает значение по умолчанию

  • sql() public

    Преобразует узел в фрагмент строки SQL.

  • traverse() public

    Рекурсивно перебирает каждую часть выражения для каждого уровня дерева выражений и выполняет вызываемый объект $callback, передавая в качестве первого параметра экземпляр выражения, который в данный момент перебирается.

Подробное описание методов

__construct() public

__construct(Cake\Database\ExpressionInterface|array $conditions = [], Cake\Database\ExpressionInterface|array $values = [], array<string> $types = [])

Создает выражение case

Parameters

Cake\Database\ExpressionInterface|array $conditions optional

Условия для проверки. Должен быть экземпляр ExpressionInterface или массив экземпляров ExpressionInterface.

Cake\Database\ExpressionInterface|array $values optional

Ассоциативный массив значений, которые будут связаны с условиями, переданными в $conditions. Если $values больше, чем $conditions, последнее $value используется как ELSE значение.

array<string> $types optional

Ассоциативный массив типов, которые будут связаны со значениями, переданными в $values

_addExpressions() protected

_addExpressions(array $conditions, array<mixed> $values, array<string> $types): void

Перебирает переданные условия и гарантирует, что для каждого из них есть соответствующее истинное значение. Если нет соответствующего истинного значения, то оно устанавливается по умолчанию в '1'.

Parameters

array $conditions

Массив экземпляров ExpressionInterface.

array<mixed> $values

Ассоциативный массив значений каждого условия

array<string> $types

Ассоциативный массив типов, которые будут связаны со значениями

Returns

void

_castToExpression() protected

_castToExpression(mixed $value, string|null $type = null): mixed

Условно преобразует переданное значение в объект ExpressionInterface, если класс типа реализует ExpressionTypeInterface. В противном случае возвращает значение без изменений.

Parameters

mixed $value

Значение для преобразования в ExpressionInterface

string|null $type optional

Имя типа

Returns

mixed

_compile() protected

_compile(Cake\Database\ExpressionInterface|array|string $part, Cake\Database\ValueBinder $binder): string

Компилирует соответствующие части в sql

Parameters

Cake\Database\ExpressionInterface|array|string $part

Часть для компиляции

Cake\Database\ValueBinder $binder

Генератор Sql

Returns

string

_requiresToExpressionCasting() protected

_requiresToExpressionCasting(array $types): array

Возвращает массив с типами, которые требуют приведения значений к выражениям, из списка имен типов, переданных в качестве параметра.

Parameters

array $types

Список имен типов

Returns

array

add() public

add(Cake\Database\ExpressionInterface|array $conditions = [], Cake\Database\ExpressionInterface|array $values = [], array<string> $types = []): $this

Добавляет одно или несколько условий и их соответствующие истинные значения к объекту case. Условия должны быть одномерным массивом или QueryExpression. trueValues должны иметь аналогичную структуру, но могут содержать строковое значение.

Parameters

Cake\Database\ExpressionInterface|array $conditions optional

Должен быть экземпляр ExpressionInterface или массив экземпляров ExpressionInterface.

Cake\Database\ExpressionInterface|array $values optional

Ассоциативный массив значений каждого условия

array<string> $types optional

Ассоциативный массив типов, которые будут связаны со значениями

Returns

$this

elseValue() public

elseValue(Cake\Database\ExpressionInterface|array|string|null $value = null, string|null $type = null): void

Устанавливает значение по умолчанию

Parameters

Cake\Database\ExpressionInterface|array|string|null $value optional

Значение для установки

string|null $type optional

Тип значения

Returns

void

sql() public

sql(Cake\Database\ValueBinder $binder): string

Преобразует узел в фрагмент строки SQL.

Parameters

Cake\Database\ValueBinder $binder

Объект генератора замещающих символов

Returns

string

traverse() public

traverse(Closure $callback): $this

Рекурсивно перебирает каждую часть выражения для каждого уровня дерева выражений и выполняет вызываемый объект $callback, передавая в качестве первого параметра экземпляр выражения, который в данный момент перебирается.

Parameters

Closure $callback

Returns

$this

Подробное описание свойств

$_conditions protected

Список строк или других объектов выражений, которые представляют условия оператора case. Например, один ключ массива может выглядеть как "sum > :value"

Type

array

$_elseValue protected

Значение ELSE для оператора case. Если null, то ELSE не будет включено.

Type

Cake\Database\ExpressionInterface|array|string|null

$_values protected

Значения, которые связаны с условиями в массиве $_conditions. Каждое значение представляет истинное значение для условия с соответствующим ключом.

Type

array

© 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.4/class-Cake.Database.Expression.CaseExpression.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API