Spec-Zone.ru › CakePHP 3.1

Класс StatementDecorator

Представляет базу данных оператор. Операторы содержат запросы, которые могут быть выполнены несколько раз, связывая разные значения при каждом вызове. Этот класс также помогает преобразовать значения в их допустимую форму для соответствующих типов.

Этот класс — всего лишь декоратор фактической реализации оператора, например PDOStatement.

Cake\Database\Statement\StatementDecorator реализует Cake\Database\StatementInterface, Countable, IteratorAggregate использует Cake\Database\TypeConverterTrait

Непосредственные известные подклассы

Cake\Database\Statement\BufferedStatement, Cake\Database\Statement\CallbackStatement, Cake\Database\Statement\PDOStatement
Пространство имен: Cake\Database\Statement
Расположение: Database/Statement/StatementDecorator.php

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

__constructsource public

__construct( Cake\Database\StatementInterface|null $statement null , Cake\Database\Driver|null $driver null )

Конструктор

Параметры

Cake\Database\StatementInterface|null $statement необязательный null
Реализация оператора, например PDOStatement
Cake\Database\Driver|null $driver необязательный null
Экземпляр драйвера

__getsource public

__get( string $property )

Магический геттер для возвращения $queryString как только для чтения.

Параметры

строка $property
внутреннее свойство для получения

Возвращает

mixed
смешанный тип

bindsource public

bind( array $params , array $types )

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

Параметры

массив $params
список значений для связывания
массив $types
список типов для использования, ключи должны соответствовать ключам в $params

Реализация

Cake\Database\StatementInterface::bind()

bindValuesource public

bindValue( string|integer $column , mixed $value , string $type 'string' )

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

Комбинирование позиционных и именованных переменных в одном операторе запрещено.

Примеры:

$statement->bindValue(1, 'a title');
$statement->bindValue('active', true, 'boolean');
$statement->bindValue(5, new \DateTime(), 'date');

Параметры

строка|целое число $column
имя или позиция параметра для связывания
смешанный тип $value
Значение для связывания с переменной в запросе
строка $type необязательный 'строка'
имя настроенного класса типа

Реализация

Cake\Database\StatementInterface::bindValue()

closeCursorsource public

closeCursor( )

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

Реализация

Cake\Database\StatementInterface::closeCursor()

columnCountsource public

columnCount( )

Возвращает количество столбцов, которые будут содержать результаты этого оператора.

Пример:

$statement = $connection->prepare('SELECT id, title from articles');
$statement->execute();
echo $statement->columnCount(); // outputs 2

Возвращает

integer
целое число

Реализация

Cake\Database\StatementInterface::columnCount()

countsource public

count( )

Операторы могут быть переданы в качестве аргумента для count() для возвращения количества затронутых строк с последнего выполнения.

Возвращает

integer
целое число

Реализация

Cake\Database\StatementInterface::count()

errorCodesource public

errorCode( )

Возвращает код ошибки для последней ошибки, произошедшей при выполнении этого оператора.

Возвращает

integer|string
целое число|строка

Реализация

Cake\Database\StatementInterface::errorCode()

errorInfosource public

errorInfo( )

Возвращает информацию об ошибке для последней ошибки, произошедшей при выполнении этого оператора.

Возвращает

array
массив

Реализация

Cake\Database\StatementInterface::errorInfo()

executesource public

execute( array|null $params null )

Выполняет оператор, отправляя SQL-запрос в базу данных. Он может необязательно принимать массив или аргументы для привязки к переменным запроса. Обратите внимание, что привязка параметров из этого метода не будет выполнять какое-либо пользовательское преобразование типа, как обычно происходит при вызове bindValue.

Параметры

массив|null $params необязательный null
список значений для привязки к запросу

Возвращает

boolean
true при успехе, false в противном случае

Реализация

Cake\Database\StatementInterface::execute()

fetchsource public

fetch( string $type 'num' )

Возвращает следующую строку набора результатов после выполнения этого оператора. Строки могут быть извлечены для содержащих столбцы в виде имён или позиций. Если в наборе результатов не осталось строк, этот метод вернёт false.

Пример:

$statement = $connection->prepare('SELECT id, title from articles');
$statement->execute();
print_r($statement->fetch('assoc')); // will show ['id' => 1, 'title' => 'a title']

Параметры

строка $type необязательный 'num'
'num' для позиционных столбцов, assoc для именованных столбцов

Возвращает

array|false
Массив результатов, содержащий столбцы и значения, или false, если результатов больше нет

Реализация

Cake\Database\StatementInterface::fetch()

fetchAllsource public

fetchAll( string $type 'num' )

Возвращает массив со всеми строками, полученными в результате выполнения этого оператора.

Пример:

$statement = $connection->prepare('SELECT id, title from articles');
$statement->execute();
print_r($statement->fetchAll('assoc')); // will show [0 => ['id' => 1, 'title' => 'a title']]

Параметры

строка $type необязательный 'num'
num для извлечения столбцов в виде позиционных ключей или assoc для имен столбцов в качестве ключей

Возвращает

array
Список всех результатов из базы данных для этого оператора

Реализация

Cake\Database\StatementInterface::fetchAll()

getInnerStatementsource public

getInnerStatement( )

Возвращает объект оператора, который был декорирован этим классом.

Возвращает

Cake\Database\StatementInterface
\Cake\Database\StatementInterface

getIteratorsource public

getIterator( )

Операторы итерируемы как массивы, этот метод вернёт объект итератора для перебора всех элементов в результате.

Пример:

$statement = $connection->prepare('SELECT id, title from articles');
foreach ($statement as $row) {
  //do stuff
}

Возвращает

Iterator
\Iterator

Реализация

IteratorAggregate::getIterator()

lastInsertIdsource public

lastInsertId( string|null $table null , string|null $column null )

Возвращает последний вставленный первичный ключ, используемый этим оператором.

Параметры

строка|null $table необязательный null
имя таблицы или последовательности для получения последнего значения вставки
строка|null $column необязательный null
имя столбца, представляющего первичный ключ

Возвращает

string
строка

Реализация

Cake\Database\StatementInterface::lastInsertId()
END_OF_DOCUMENT_MARKER

rowCountsource public

rowCount( )

Возвращает количество строк, затронутых этим SQL-запросом.

Пример:

$statement = $connection->prepare('SELECT id, title from articles');
$statement->execute();
print_r($statement->rowCount()); // will show 1

Возвращает

integer
int

Реализация

Cake\Database\StatementInterface::rowCount()

Методы, используемые из Cake\Database\TypeConverterTrait

castsource public

cast( mixed $value , Cake\Database\Type|string $type )

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

Параметры

mixed $value
Значение для преобразования
Cake\Database\Type|string $type
Имя типа или экземпляр типа для использования.

Возвращает

array
Список, содержащий преобразованное значение и внутренний тип

matchTypessource public

matchTypes( array $columns , array $types )

Сопоставляет столбцы соответствующим типам

И $columns, и $types должны быть либо числовыми, либо строковыми ключами одновременно.

Параметры

array $columns
Список или ассоциативный массив столбцов и параметров, которые будут связаны с типами
array $types
Список или ассоциативный массив типов

Возвращает

array
массив

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

$_driversource

protected Cake\Database\Driver

Ссылка на объект драйвера, связанный с этим оператором.

$_hasExecutedsource

protected boolean

Выполнялся ли этот оператор ранее

false

$_statementsource

protected mixed

Реализация экземпляра оператора, например, PDOStatement или любая другая реализация пользовательского кода.

© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.Database.Statement.StatementDecorator.html

Spec-Zone.ru

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