Spec-Zone.ru › CakePHP 3.6

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

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

  • string

    FETCH_TYPE_ASSOC
    'assoc'
  • string

    FETCH_TYPE_NUM
    'num'
  • string

    FETCH_TYPE_OBJ
    'obj'

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

  • $_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
    Возвращает массив со всеми строками, полученными в результате выполнения этого оператора.
  • fetchAssoc() public

    Возвращает следующую строку в наборе результатов в виде ассоциативного массива. Вызов этой функции эквивалентен вызову $statement->fetch(StatementDecorator::FETCH_TYPE_ASSOC). Если результаты не найдены, возвращается false.

  • fetchColumn() 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 optional null
Реализация оператора, например, PDOStatement
Cake\Database\Driver|null $driver optional 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 optional 'string'
имя настроенного класса Type

Реализация

Cake\Database\StatementInterface::bindValue()
END_OF_DOCUMENT_MARKER

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()

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 = self::FETCH_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 необязательно self::FETCH_TYPE_NUM
'num' для позиционных столбцов, assoc для именованных столбцов

Возвращает

array|false

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


Реализация

Cake\Database\StatementInterface::fetch()

fetchAll()source public

fetchAll( string $type = self::FETCH_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 необязательно self::FETCH_TYPE_NUM
num для извлечения столбцов в качестве позиционных ключей или assoc для названий столбцов в качестве ключей

Возвращает

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

Реализация

Cake\Database\StatementInterface::fetchAll()

fetchAssoc()source public

fetchAssoc( )

Возвращает следующую строку в наборе результатов в виде ассоциативного массива. Вызов этой функции эквивалентен вызову $statement->fetch(StatementDecorator::FETCH_TYPE_ASSOC). Если результатов не найдено, возвращается false.

Возвращает

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

fetchColumn()source public

fetchColumn( integer $position )

Возвращает значение результата в позиции.

Параметры

integer $position
Позиционный номер столбца для извлечения в результате

Возвращает

mixed|false
Возвращает конкретное значение столбца, указанного в $position

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|integer

Реализация

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
END_OF_DOCUMENT_MARKER

$_statementsource

protected Cake\Database\StatementInterface|PDOStatement|null

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

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

$queryStringsource

public только для чтения строка

© 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/3.6/class-Cake.Database.Statement.StatementDecorator.html

Spec-Zone.ru

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