Spec-Zone.ru › CakePHP 4.2

Класс 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, передавая в качестве первого параметра экземпляр выражения, по которому в данный момент итерируется.

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

__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(arrayCake\Database\Query $values): void

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

Параметры

arrayCake\Database\Query $values

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

Возвращает

void

Исключения

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

getColumns() public

getColumns(): array

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

Возвращает

array

getDefaultTypes() public

getDefaultTypes(): array

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

Возвращает

array

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 $types): $this

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

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

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

Параметры

array $types

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

Возвращает

$this

См. также

\Cake\Database\TypeMap::setDefaults()

setQuery() public

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

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

Параметры

Cake\Database\Query $query

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

Возвращает

$this

setTypeMap() public

setTypeMap(arrayCake\Database\TypeMap $typeMap): $this

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

Параметры

arrayCake\Database\TypeMap $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.2/class-Cake.Database.Expression.ValuesExpression.html

Spec-Zone.ru

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