Класс 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(Cake\Database\Query|array $values): void
Добавить строку данных для вставки.
Параметры
-
Cake\Database\Query|array$values Массив данных для добавления в оператор вставки или запрос для команд INSERT INTO .. SELECT
Возвращает
voidВыбрасывает
Cake\Database\Exception\DatabaseExceptionПри смешении типов данных массив + Запрос.
getColumns() public
getColumns(): array
Получить столбцы для вставки.
Возвращает
arraygetDefaultTypes() public
getDefaultTypes(): array<int|string, string>
Получить значения типов по умолчанию текущего типа отображения.
Возвращает
array<int|string, string>getQuery() 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<int|string, string> $types): $this
Перезаписывает соответствия типов по умолчанию для полей в реализующем объекте.
Этот метод полезен, если вам нужно задать соответствия типов, которые используются в нескольких функциях/выражениях в запросе.
Чтобы добавить значение по умолчанию, не перезаписывая существующие, используйте getTypeMap()->addDefaults()
Параметры
-
array<int|string, string>$types Массив типов для установки.
Возвращает
$thisСм. также
setQuery() public
setQuery(Cake\Database\Query $query): $this
Устанавливает объект запроса, используемый как выражение значений для оценки вставки записей в таблицу.
Параметры
-
Cake\Database\Query$query Запрос для установки
Возвращает
$thissetTypeMap() public
setTypeMap(Cake\Database\TypeMap|array $typeMap): $this
Создаёт новое TypeMap, если $typeMap является массивом, в противном случае меняет его на заданный.
Параметры
-
Cake\Database\TypeMap|array$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.4/class-Cake.Database.Expression.ValuesExpression.html