Класс ValuesExpression
Объект выражения для хранения вставляемых значений.
Помогает сгенерировать SQL с правильным количеством заглушек и правильно привязать значения к запросу.
Краткое описание свойств
- $_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 Список имён типов
Возвращает
arrayadd() public
add(arrayCake\Database\Query $values): void
Добавить строку данных для вставки.
Параметры
-
arrayCake\Database\Query$values Массив данных для добавления в вставку, или запрос для выполнения команд INSERT INTO .. SELECT.
Возвращает
voidИсключения
Cake\Database\Exception\DatabaseExceptionПри смешении типов данных массив + Запрос.
getColumns() public
getColumns(): array
Получить столбцы для вставки.
Возвращает
arraygetDefaultTypes() public
getDefaultTypes(): array
Получить значения типов по умолчанию для текущего отображения типов.
Возвращает
arraygetQuery() public
getQuery(): Cake\Database\Query|null
Получить объект запроса, используемый в качестве выражения значений для оценки вставки записей в таблицу.
Возвращает
Cake\Database\Query|nullgetTypeMap() public
getTypeMap(): Cake\Database\TypeMap
Возвращает существующее отображение типов.
Возвращает
Cake\Database\TypeMapgetValues() public
getValues(): array
Получить значения для вставки.
Возвращает
arraysetColumns() public
setColumns(array $columns): $this
Установить столбцы для вставки.
Параметры
-
array$columns Массив со столбцами для вставки.
Возвращает
$thissetDefaultTypes() public
setDefaultTypes(array $types): $this
Перезаписать сопоставления типов по умолчанию для полей в реализующем объекте.
Этот метод полезен, если вам нужно установить сопоставления типов, которые используются в нескольких функциях/выражениях в запросе.
Чтобы добавить значение по умолчанию, не перезаписывая существующие, используйте getTypeMap()->addDefaults()
Параметры
-
array$types Массив типов для установки.
Возвращает
$thisСм. также
setQuery() public
setQuery(Cake\Database\Query $query): $this
Устанавливает объект запроса, используемый в качестве выражения значений для оценки вставки записей в таблицу.
Параметры
-
Cake\Database\Query$query Запрос для установки
Возвращает
$thissetTypeMap() public
setTypeMap(arrayCake\Database\TypeMap $typeMap): $this
Создаёт новое TypeMap, если $typeMap является массивом, в противном случае меняет его на заданный.
Параметры
-
arrayCake\Database\TypeMap$typeMap Создаёт TypeMap, если массив, в противном случае устанавливает заданный TypeMap
Возвращает
$thissetValues() public
setValues(array $values): $this
Устанавливает значения для вставки.
Параметры
-
array$values Массив значений для вставки.
Возвращает
$thissql() public
sql(Cake\Database\ValueBinder $binder): string
Преобразует узел в фрагмент SQL-строки.
Параметры
-
Cake\Database\ValueBinder$binder
Возвращает
stringtraverse() 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