Класс BufferedStatement
Декоратор запроса, который реализует буферизацию результатов.
Этот декоратор запроса сохранит полученные результаты в памяти, что позволит перематывать итератор и повторно использовать его.
- Cake\Database\Statement\StatementDecorator implements Cake\Database\StatementInterface, Countable, IteratorAggregate uses Cake\Database\TypeConverterTrait
-
Cake\Database\Statement\BufferedStatement
Краткое описание свойств
-
$_allFetchedprotectedЕсли истинно, все строки были полученыboolean -
$_countprotectedКоличество записейinteger -
$_counterprotectedУказатель на текущую записьinteger -
$_recordsprotectedМассив результатовarray
Унаследованные свойства
Краткое описание методов
- __construct() publicКонструктор
- _reset() protectedСбросить все свойства
- execute() publicВыполнить запрос и вернуть результаты.
- fetch() public
Возвращает следующую строку набора результатов после выполнения этого запроса. Строки могут быть получены, чтобы содержать столбцы как имена или позиции. Если в наборе результатов больше нет строк, этот метод вернет false.
- fetchAll() publicВозвращает массив со всеми строками, полученными в результате выполнения этого запроса.
- rewind() publicПеремотать свойство _counter
- rowCount() publicВозвращает количество строк, затронутых этим SQL-запросом.
Подробное описание методов
__construct()source 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 - Экземпляр драйвера
Переопределяет
Cake\Database\Statement\StatementDecorator::__construct() execute()source public
execute( array|null $params null )
Выполнить запрос и вернуть результаты.
Параметры
- array|null
$paramsнеобязательно null - список значений, которые нужно связать с запросом
Возвращает
booleantrue при успехе, false в противном случае
Переопределяет
Cake\Database\Statement\StatementDecorator::execute() fetch()source public
fetch( string $type 'num' )
Возвращает следующую строку набора результатов после выполнения этого запроса. Строки могут быть получены, чтобы содержать столбцы как имена или позиции. Если в наборе результатов больше нет строк, этот метод вернет false.
Параметры
- string
$typeнеобязательно 'num' - Тип для извлечения.
Возвращает
array|falseПереопределяет
Cake\Database\Statement\StatementDecorator::fetch() fetchAll()source public
fetchAll( string $type 'num' )
Возвращает массив со всеми строками, полученными в результате выполнения этого запроса.
Параметры
- string
$typeнеобязательно 'num' - Тип для извлечения.
Возвращает
arrayПереопределяет
Cake\Database\Statement\StatementDecorator::fetchAll() rowCount()source public
rowCount( )
Возвращает количество строк, затронутых этим SQL-запросом.
Возвращает
integerПереопределяет
Cake\Database\Statement\StatementDecorator::rowCount() Методы, унаследованные от Cake\Database\Statement\StatementDecorator
__get()source public
__get( string $property )
Магический геттер для возвращения $queryString как только для чтения.
Параметры
- string
$property - внутреннее свойство для получения
Возвращает
mixedbind()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() для возвращения количества затронутых строк с последнего выполнения.
Возвращает
целое числоРеализация
Cake\Database\StatementInterface::count() errorCode()source public
errorCode( )
Возвращает код ошибки для последней ошибки, произошедшей при выполнении данного выражения.
Возвращает
целое число/строкаРеализация
Cake\Database\StatementInterface::errorCode() errorInfo()source public
errorInfo( )
Возвращает информацию об ошибке для последней ошибки, произошедшей при выполнении этого выражения.
Возвращает
массивРеализация
Cake\Database\StatementInterface::errorInfo() getInnerStatement()source public
getInnerStatement( )
Возвращает объект выражения, который был декорирован этим классом.
Возвращает
Cake\Database\StatementInterfacegetIterator()source public
getIterator( )
Выражения могут быть итерируемы как массивы, этот метод вернет объект итератора для перебора всех элементов в результате.
Пример:
$statement = $connection->prepare('SELECT id, title from articles');
foreach ($statement as $row) {
//do stuff
} Возвращает
ИтераторРеализация
IteratorAggregate::getIterator() lastInsertId()source public
lastInsertId( string|null $table null , string|null $column null )
Возвращает последний вставленный первичный ключ с использованием этого выражения.
Параметры
- строка|null
$tableнеобязательно null - имя таблицы или последовательности для получения последнего значения вставки
- строка|null
$columnнеобязательно null - имя столбца, представляющего первичный ключ
Возвращает
строкаРеализация
Cake\Database\StatementInterface::lastInsertId() Методы, используемые из Cake\Database\TypeConverterTrait
cast()source public
cast( mixed $value , Cake\Database\Type|string $type )
Преобразует заданное значение в подходящее значение базы данных на основе типа и возвращает соответствующий внутренний тип выражения
Параметры
- смешанный
$value - Значение для преобразования
-
Cake\Database\Type|строка$type - Имя типа или экземпляр типа для использования.
Возвращает
массивсписок, содержащий преобразованное значение и внутренний тип
matchTypes()source public
matchTypes( array $columns , array $types )
Сопоставляет столбцы соответствующим типам
Как $columns, так и $types должны быть либо числовыми, либо строковыми ключами одновременно.
Параметры
- массив
$columns - список или ассоциативный массив столбцов и параметров, которые будут связаны с типами
- массив
$types - список или ассоциативный массив типов
Возвращает
массивПодробности свойств
© 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.2/class-Cake.Database.Statement.BufferedStatement.html