Класс ValuesExpression
Объект выражения для хранения значений, которые будут вставлены.
Помогает сгенерировать SQL с правильным количеством заглушек и корректно связать значения в инструкции.
- Cake\Database\Expression\ValuesExpression реализует Cake\Database\ExpressionInterface, использует Cake\Database\Type\ExpressionTypeCasterTrait, Cake\Database\TypeMapTrait
Краткое описание свойств
-
$_castedExpressionsprotectedbooleanУказывается, были ли значения уже преобразованы в выражения.
-
$_columnsprotectedСписок столбцов, которые должны быть частью вставки.array -
$_queryprotectedОбъект запроса, используемый как выражение значений.Cake\Database\Query|null -
$_valuesprotectedМассив значений для вставки.array
Унаследованные свойства
Краткое описание методов
- __construct() publicКонструктор
- _columnNames() protectedПолучение базовых имён столбцов.
- _processExpressions() protectedПреобразование значений, которые требуют преобразования в выражения
- add() publicДобавление строки данных для вставки.
- columns() public
Устанавливает столбцы, которые будут вставлены. Если параметры не переданы, возвращает текущие сохранённые столбцы.
- getColumns() publicПолучение столбцов для вставки.
- getQuery() public
Получение объекта запроса, используемого как выражение значений для вычисления вставки записей в таблицу.
- getValues() publicПолучение значений для вставки.
- query() public
Устанавливает объект запроса, используемый как выражение значений для вычисления вставки записей в таблицу. Если параметры не переданы, возвращает текущий сохранённый запрос
- setColumns() publicУстанавливает столбцы для вставки.
- setQuery() public
Устанавливает объект запроса, используемый как выражение значений для вычисления вставки записей в таблицу.
- setValues() publicУстанавливает значения для вставки.
- sql() publicПреобразование значений в строку SQL с заглушками.
- traverse() publicОбход выражения значений.
- values() public
Устанавливает значения для вставки. Если параметры не переданы, возвращает текущие сохранённые значения.
Подробное описание методов
__construct()source public
__construct( array $columns , Cake\Database\TypeMap $typeMap )
Конструктор
Параметры
- массив
$columns - Список столбцов, которые будут частью значений.
-
Cake\Database\TypeMap$typeMap - Словарь столбец -> имена типов
_columnNames()source protected
_columnNames( )
Получение базовых имён столбцов.
Поскольку имена столбцов могут быть идентификаторами, заключёнными в кавычки, нам необходимо удалить идентификаторы из столбцов.
Возвращает
массив_processExpressions()source protected
_processExpressions( )
Преобразование значений, которые требуют преобразования в выражения
add()source public
add( array|Cake\Database\Query $data )
Добавление строки данных для вставки.
Параметры
- массив|
Cake\Database\Query$data Массив данных для добавления в вставку или запрос для выполнения команд INSERT INTO .. SELECT
Исключения
Cake\Database\ExceptionПри смешивании типов данных массив + Запрос.
columns()source public
columns( array|null $cols null )
Устанавливает столбцы, которые будут вставлены. Если параметры не переданы, возвращает текущие сохранённые столбцы.
Устарело
3.4.0 Используйте setColumns()/getColumns() вместо этого.Параметры
- массив|null
$colsопционально null - Массив со столбцами для вставки.
Возвращает
массив|Cake\Database\Expression\ValuesExpression$this
getQuery()source public
getQuery( )
Получение объекта запроса, используемого как выражение значений для вычисления вставки записей в таблицу.
Возвращает
Cake\Database\Query|nullquery()source public
query( Cake\Database\Query $query null )
Устанавливает объект запроса, используемый как выражение значений для вычисления вставки записей в таблицу. Если параметры не переданы, возвращает текущий сохранённый запрос
Устарело
3.4.0 Используйте setQuery()/getQuery() вместо этого.Параметры
-
Cake\Database\Query$queryопционально null - Устанавливаемый запрос
Возвращает
Cake\Database\Query|null|Cake\Database\Expression\ValuesExpression$this
setColumns()source public
setColumns( array $cols )
Устанавливает столбцы для вставки.
Параметры
- массив
$cols - Массив со столбцами для вставки.
Возвращает
$this
setQuery()source public
setQuery( Cake\Database\Query $query )
Устанавливает объект запроса, используемый как выражение значений для вычисления вставки записей в таблицу.
Параметры
-
Cake\Database\Query$query - Устанавливаемый запрос
Возвращает
$this
setValues()source public
setValues( array $values )
Устанавливает значения для вставки.
Параметры
- массив
$values - Массив значений для вставки.
Возвращает
$this
sql()source public
sql( Cake\Database\ValueBinder $generator )
Преобразует значения в строку SQL с плейсхолдерами.
Параметры
- Cake\Database\ValueBinder
$generator - Объект генератора плейсхолдеров
Возвращает
строкаРеализация
Cake\Database\ExpressionInterface::sql() traverse()source public
traverse( callable $visitor )
Проход по выражению значений.
Этот метод также будет проходить по любым запросам, которые должны быть использованы в значениях INSERT.
Параметры
- вызываемый объект
$visitor - Посетитель для обхода выражения.
Реализация
Cake\Database\ExpressionInterface::traverse() values()source public
values( array|null $values null )
Устанавливает значения для вставки. Если параметры не переданы, возвращает текущие сохраненные значения.
Устарело
3.4.0 Используйте setValues()/getValues() вместо этого.Параметры
- массив|null
$valuesнеобязательно null - Массив значений для вставки.
Возвращает
массив|Cake\Database\Expression\ValuesExpression$this
Методы, используемые из Cake\Database\Type\ExpressionTypeCasterTrait
_castToExpression()source protected
_castToExpression( mixed $value , string $type )
Условно преобразует переданное значение в объект ExpressionInterface, если класс типа реализует ExpressionTypeInterface. В противном случае возвращает значение без изменений.
Параметры
- смешанный тип
$value - Значение, которое нужно преобразовать в ExpressionInterface
- строка
$type - Имя типа
Возвращает
смешанный тип_requiresToExpressionCasting()source protected
_requiresToExpressionCasting( array $types )
Возвращает массив типов, которые требуют преобразования значений в выражения, из списка имен типов, переданных в качестве параметра.
Параметры
- массив
$types - Список имен типов
Возвращает
массивМетоды, используемые из Cake\Database\TypeMapTrait
defaultTypes()source public
defaultTypes( array $types null )
Позволяет устанавливать типы по умолчанию при объединении запроса
Устарело
3.4.0 Используйте setDefaultTypes()/getDefaultTypes() вместо этого.Параметры
- массив
$typesнеобязательно null - Массив типов для установки.
Возвращает
$this|массив
getDefaultTypes()source public
getDefaultTypes( )
Получает типы по умолчанию текущей карты типов.
Возвращает
массивgetTypeMap()source public
getTypeMap( )
Возвращает существующую карту типов.
Возвращает
Cake\Database\TypeMapsetDefaultTypes()source public
setDefaultTypes( array $types )
Позволяет устанавливать типы по умолчанию при объединении запроса.
Параметры
- массив
$types - Массив типов для установки.
Возвращает
$this
setTypeMap()source public
setTypeMap( array|Cake\Database\TypeMap $typeMap )
Создает новую карту типов, если $typeMap является массивом, в противном случае меняет ее на заданную.
Параметры
- массив|
Cake\Database\TypeMap$typeMap - Создает карту типов, если массив, иначе устанавливает заданную карту типов
Возвращает
$this
typeMap()source public
typeMap( array|Cake\Database\TypeMap|null $typeMap null )
Создает новую карту типов, если $typeMap является массивом, иначе возвращает существующую карту типов или меняет ее на заданную.
Устарело
3.4.0 Используйте setTypeMap()/getTypeMap() вместо этого.Параметры
- массив|
Cake\Database\TypeMap|null$typeMapнеобязательно null - Создает карту типов, если массив, иначе устанавливает заданную карту типов
Возвращает
$this|\Cake\Database\TypeMap
Подробности свойств
$_castedExpressionssource
protected логическое значение
Указывает, были ли значения уже преобразованы в выражения.
false
$_columnssource
protected массив
Список столбцов, чтобы гарантировать, что они являются частью вставки.
[]
$_querysource
protected Cake\Database\Query|null
Объект запроса для использования как выражения значений
© 2005–2018 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/3.5/class-Cake.Database.Expression.ValuesExpression.html