Spec-Zone.ru › CakePHP 4.4

Класс ValuesExpression

Объект выражения для хранения значений, которые будут вставлены.

Помогает генерировать SQL с правильным количеством заготовок и корректно связывать значения в оператор.

Пространство имён: Cake\Database\Expression

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

  • $_castedExpressions protected
    bool

    Указывается, были ли значения уже преобразованы в выражения.

  • $_columns protected
    array

    Список столбцов, которые должны быть частью вставки.

  • $_query protected
    Cake\Database\Query|null

    Объект Query, используемый как выражение значений.

  • $_typeMap protected
    Cake\Database\TypeMap|null
  • $_values protected
    array

    Массив значений для вставки.

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

  • __construct() public

    Конструктор

  • _castToExpression() protected

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

  • _columnNames() protected

    Получить имена столбцов.

  • _processExpressions() protected

    Преобразует значения, которые нужно преобразовать в выражения.

  • _requiresToExpressionCasting() protected

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

  • add() public

    Добавить строку данных для вставки.

  • getColumns() public

    Получить столбцы для вставки.

  • getDefaultTypes() public

    Получить типы по умолчанию текущей схемы типов.

  • getQuery() public

    Получить объект запроса, используемый как выражение значений для оценки вставки записей в таблицу.

  • getTypeMap() public

    Возвращает существующую схему типов.

  • getValues() public

    Получить значения для вставки.

  • setColumns() public

    Установить столбцы для вставки.

  • setDefaultTypes() public

    Перезаписать значения по умолчанию для сопоставления типов для полей в реализующем объекте.

  • setQuery() public

    Устанавливает объект запроса, используемый как выражение значений для оценки вставки записей в таблицу.

  • setTypeMap() public

    Создаёт новую схему типов, если $typeMap является массивом, иначе меняет её на заданную.

  • setValues() public

    Установить значения для вставки.

  • sql() public

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

  • traverse() public

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

END_OF_DOCUMENT_MARKER

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

__construct() public

__construct(array $columns, Cake\Database\TypeMap $typeMap)

Конструктор

Параметры

array $columns

Список столбцов, которые будут частью значений.

Cake\Database\TypeMap $typeMap

Словарь столбец -> имя типа

_castToExpression() protected

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

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

Параметры

mixed $value

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

string|null $type optional

Имя типа

Возвращает

mixed

_columnNames() protected

_columnNames(): array

Получить имена столбцов без квалификаторов.

Поскольку имена столбцов могут быть заключены в кавычки, необходимо удалить идентификаторы из столбцов.

Возвращает

array

_processExpressions() protected

_processExpressions(): void

Преобразует значения, которые нужно преобразовать в выражения

Возвращает

void

_requiresToExpressionCasting() protected

_requiresToExpressionCasting(array $types): array

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

Параметры

array $types

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

Возвращает

array

add() public

add(Cake\Database\Query|array $values): void

Добавить строку данных для вставки.

Параметры

Cake\Database\Query|array $values

Массив данных для добавления в оператор вставки или запрос для команд INSERT INTO .. SELECT

Возвращает

void

Выбрасывает

Cake\Database\Exception\DatabaseException
При смешении типов данных массив + Запрос.

getColumns() public

getColumns(): array

Получить столбцы для вставки.

Возвращает

array

getDefaultTypes() public

getDefaultTypes(): array<int|string, string>

Получить значения типов по умолчанию текущего типа отображения.

Возвращает

array<int|string, string>

getQuery() public

getQuery(): Cake\Database\Query|null

Получить объект запроса, используемый как выражение значений для оценки вставки записей в таблицу.

Возвращает

Cake\Database\Query|null

getTypeMap() public

getTypeMap(): Cake\Database\TypeMap

Возвращает существующее отображение типов.

Возвращает

Cake\Database\TypeMap

getValues() public

getValues(): array

Получить значения для вставки.

Возвращает

array

setColumns() public

setColumns(array $columns): $this

Устанавливает столбцы для вставки.

Параметры

array $columns

Массив столбцов для вставки.

Возвращает

$this

setDefaultTypes() public

setDefaultTypes(array<int|string, string> $types): $this

Перезаписывает соответствия типов по умолчанию для полей в реализующем объекте.

Этот метод полезен, если вам нужно задать соответствия типов, которые используются в нескольких функциях/выражениях в запросе.

Чтобы добавить значение по умолчанию, не перезаписывая существующие, используйте getTypeMap()->addDefaults()

Параметры

array<int|string, string> $types

Массив типов для установки.

Возвращает

$this

См. также

\Cake\Database\TypeMap::setDefaults()

setQuery() public

setQuery(Cake\Database\Query $query): $this

Устанавливает объект запроса, используемый как выражение значений для оценки вставки записей в таблицу.

Параметры

Cake\Database\Query $query

Запрос для установки

Возвращает

$this

setTypeMap() public

setTypeMap(Cake\Database\TypeMap|array $typeMap): $this

Создаёт новое TypeMap, если $typeMap является массивом, в противном случае меняет его на заданный.

Параметры

Cake\Database\TypeMap|array $typeMap

Создаёт TypeMap, если массив, в противном случае устанавливает заданный TypeMap

Возвращает

$this

setValues() public

setValues(array $values): $this

Устанавливает значения для вставки.

Параметры

array $values

Массив значений для вставки.

Возвращает

$this

sql() public

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

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

Параметры

Cake\Database\ValueBinder $binder

Возвращает

string

traverse() public

traverse(Closure $callback): $this

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

Параметры

Closure $callback

Возвращает

$this

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

$_castedExpressions protected

Уже были ли значения преобразованы в выражения.

Тип

bool

$_columns protected

Список столбцов, которые должны быть частью вставки.

Тип

array

$_query protected

Объект запроса, используемый как выражение значений

Тип

Cake\Database\Query|null

$_typeMap protected

Тип

Cake\Database\TypeMap|null

$_values protected

Массив значений для вставки.

Тип

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.ValuesExpression.html

Spec-Zone.ru

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