Spec-Zone.ru › CakePHP 3.5

Класс 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

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

  • $_driver protected
    Cake\Database\Driver|null
    Ссылка на объект драйвера, связанный с этим оператором.
  • $_hasExecuted protected
    boolean
    Выполнен ли этот оператор уже
  • $_statement protected
    Cake\Database\StatementInterface|PDOStatement|null

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

Краткое описание магических свойств

  • $queryString public
    string

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

  • __construct() public
    Конструктор
  • __get() public
    Магический метод доступа для возвращения $queryString в качестве только для чтения.
  • bind() public
    Привязывает набор значений к объекту оператора с соответствующим типом.
  • bindValue() public

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

  • closeCursor() public

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

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

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

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

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

  • execute() public

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

  • fetch() public

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

  • fetchAll() public
    Возвращает массив со всеми строками, полученными в результате выполнения этого оператора.
  • getInnerStatement() public
    Возвращает объект оператора, который был декорирован этим классом.
  • getIterator() public

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

  • lastInsertId() public
    Возвращает последний вставленный первичный ключ, используя этот оператор.
  • rowCount() public
    Возвращает количество строк, затронутых этим SQL-оператором.

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

__construct()source public

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

Конструктор

Параметры

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

__get()source public

__get( string $property )

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

Параметры

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

Возвращает

mixed

bind()source public

bind( array $params , array $types )

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

Параметры

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

Реализация

Cake\Database\StatementInterface::bind()

bindValue()source 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');

Параметры

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

Реализация

Cake\Database\StatementInterface::bindValue()

closeCursor()source public

closeCursor( )

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

Реализация

Cake\Database\StatementInterface::closeCursor()

columnCount()source public

columnCount( )

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

Пример:

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

Возвращает

integer

Реализация

Cake\Database\StatementInterface::columnCount()

count()source public

count( )

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

Возвращает

integer

Реализация

Cake\Database\StatementInterface::count()
END_OF_DOCUMENT_MARKER

errorCode()source public

errorCode( )

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

Возвращаемое значение

integer|string

Реализация

Cake\Database\StatementInterface::errorCode()

errorInfo()source public

errorInfo( )

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

Возвращаемое значение

array

Реализация

Cake\Database\StatementInterface::errorInfo()

execute()source public

execute( array|null $params null )

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

Параметры

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

Возвращаемое значение

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

Реализация

Cake\Database\StatementInterface::execute()

fetch()source 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']

Параметры

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

Возвращаемое значение

array|false

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


Реализация

Cake\Database\StatementInterface::fetch()

fetchAll()source 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']]

Параметры

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

Возвращаемое значение

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

Реализация

Cake\Database\StatementInterface::fetchAll()

getInnerStatement()source public

getInnerStatement( )

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

Возвращаемое значение

Cake\Database\StatementInterface|PDOStatement

getIterator()source public

getIterator( )

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

Пример:

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

Возвращаемое значение

Cake\Database\StatementInterface|PDOStatement

Реализация

IteratorAggregate::getIterator()

lastInsertId()source public

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

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

Параметры

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

Возвращаемое значение

string

Реализация

Cake\Database\StatementInterface::lastInsertId()

rowCount()source public

rowCount( )

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

Пример:

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

Возвращаемое значение

integer

Реализация

Cake\Database\StatementInterface::rowCount()

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

cast()source public

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

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

Параметры

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

Возвращаемое значение

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

matchTypes()source public

matchTypes( array $columns , array $types )

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

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

Параметры

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

Возвращаемое значение

array

Подробности свойств

$_driversource

protected Cake\Database\Driver|null

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

$_hasExecutedsource

protected boolean

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

false

$_statementsource

protected Cake\Database\StatementInterface|PDOStatement|null

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

Подробности магических свойств

$queryStringsource

public только для чтения string

© 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.Statement.StatementDecorator.html

Spec-Zone.ru

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