Spec-Zone.ru › Yii 2.0

Класс yii\db\DataReader

Все классы | Свойства | Методы
Наследование yii\db\DataReader » yii\base\Object
Реализует Countable, Iterator, yii\base\Configurable
Доступна с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/db/DataReader.php

DataReader представляет собой однонаправленный поток строк из набора результатов запроса.

Для чтения текущей строки данных вызовите read(). Метод readAll() возвращает все строки в одном массиве. Строки данных также можно читать, перебирая reader. Например,

$command = $connection->createCommand('SELECT * FROM post');
$reader = $command->query();

while ($row = $reader->read()) {
    $rows[] = $row;
}

// equivalent to:
foreach ($reader as $row) {
    $rows[] = $row;
}

// equivalent to:
$rows = $reader->readAll();

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

Можно использовать определённый режим извлечения данных, задав $fetchMode. Для получения более подробной информации о возможных режимах извлечения данных см. справочник PHP.

Свойства Public

Свойство Тип Описание Определено в
$columnCount integer Количество столбцов в наборе результатов. yii\db\DataReader
$fetchMode integer Режим извлечения yii\db\DataReader
$isClosed boolean Закрыт ли reader. yii\db\DataReader
$rowCount integer Количество строк в результате. yii\db\DataReader

Методы Public

Метод Описание Определено в
__call() Вызывает именованный метод, который не является методом класса. yii\base\Object
__construct() Конструктор. yii\db\DataReader
__get() Возвращает значение свойства объекта. yii\base\Object
__isset() Проверяет, установлено ли свойство, т.е. определено и не равно null. yii\base\Object
__set() Устанавливает значение свойства объекта. yii\base\Object
__unset() Устанавливает свойство объекта в null. yii\base\Object
bindColumn() Связывает столбец с PHP переменной. yii\db\DataReader
canGetProperty() Возвращает значение, указывающее, можно ли прочитать свойство. yii\base\Object
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Object
className() Возвращает полное имя этого класса. yii\base\Object
close() Закрывает reader. yii\db\DataReader
count() Возвращает количество строк в наборе результатов. yii\db\DataReader
current() Возвращает текущую строку. yii\db\DataReader
getColumnCount() Возвращает количество столбцов в наборе результатов. yii\db\DataReader
getIsClosed() Закрыт ли reader. yii\db\DataReader
getRowCount() Возвращает количество строк в наборе результатов. yii\db\DataReader
hasMethod() Возвращает значение, указывающее, определён ли метод. yii\base\Object
hasProperty() Возвращает значение, указывающее, определено ли свойство. yii\base\Object
init() Инициализирует объект. yii\base\Object
key() Возвращает индекс текущей строки. yii\db\DataReader
next() Перемещает внутренний указатель на следующую строку. yii\db\DataReader
nextResult() Перемещает reader к следующему результату при чтении результатов набора инструкций. yii\db\DataReader
read() Перемещает reader к следующей строке в наборе результатов. yii\db\DataReader
readAll() Читает весь набор результатов в массив. yii\db\DataReader
readColumn() Возвращает единственный столбец из следующей строки набора результатов. yii\db\DataReader
readObject() Возвращает объект, заполненный следующей строкой данных. yii\db\DataReader
rewind() Возвращает итератор в начальное состояние. yii\db\DataReader
setFetchMode() Устанавливает режим извлечения по умолчанию для этого оператора. yii\db\DataReader
valid() Возвращает true, если в текущей позиции есть строка данных, иначе false. yii\db\DataReader

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

$columnCount свойство public только для чтения

Количество столбцов в наборе результатов.

public integer getColumnCount ( )

$fetchMode свойство public только для записи

Режим извлечения

public void setFetchMode ( $mode )

$isClosed свойство public только для чтения

Закрыт ли reader.

public boolean getIsClosed ( )

$rowCount свойство public только для чтения

Количество строк в результате.

public integer getRowCount ( )

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

__construct() public method

Конструктор.

public void __construct ( yii\db\Command $command, $config = [] )
$command yii\db\Command

Команда, генерирующая результат запроса

$config array

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

bindColumn() public method

Связывает столбец с PHP-переменной.

Когда извлекаются строки данных, соответствующее значение столбца будет установлено в переменной. Обратите внимание, что режим извлечения должен включать PDO::FETCH_BOUND.

См. также http://www.php.net/manual/en/function.PDOStatement-bindColumn.php.

public void bindColumn ( $column, &$value, $dataType = null )
$column integer|string

Номер столбца (индексируется с 1) или имя столбца в наборе результатов. При использовании имени столбца, обратите внимание, что имя должно соответствовать регистру имени столбца, возвращаемого драйвером.

$value mixed

Имя PHP-переменной, к которой будет связан столбец.

$dataType integer

Тип данных параметра

close() public method

Закрывает чтец.

Это освобождает ресурсы, выделенные для выполнения этого SQL-запроса. Попытки чтения после вызова этого метода непредсказуемы.

public void close ( )

count() public method

Возвращает количество строк в наборе результатов.

Этот метод требуется интерфейсом Countable. Обратите внимание, что большинство СУБД могут не предоставлять осмысленное значение подсчета. В этом случае используйте «SELECT COUNT(*) FROM tableName» для получения количества строк.

public integer count ( )
return integer

Количество строк в результате.

current() public method

Возвращает текущую строку.

Этот метод требуется интерфейсом Iterator.

public mixed current ( )
return mixed

Текущая строка.

getColumnCount() public method

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

Обратите внимание, что даже если в читателе нет строк, это все равно дает правильное количество столбцов.

public integer getColumnCount ( )
return integer

Количество столбцов в наборе результатов.

getIsClosed() public method

Закрыт ли чтец.

public boolean getIsClosed ( )
return boolean

Закрыт ли чтец.

getRowCount() public method

Возвращает количество строк в наборе результатов.

Обратите внимание, что большинство СУБД могут не предоставлять осмысленное значение подсчета. В этом случае используйте «SELECT COUNT(*) FROM tableName» для получения количества строк.

public integer getRowCount ( )
return integer

Количество строк в результате.

key() public method

Возвращает индекс текущей строки.

Этот метод требуется интерфейсом Iterator.

public integer key ( )
return integer

Индекс текущей строки.

next() public method

Перемещает внутренний указатель на следующую строку.

Этот метод требуется интерфейсом Iterator.

public void next ( )

nextResult() public method

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

Этот метод полезен только в том случае, если запрос возвращает несколько наборов результатов. Не все СУБД поддерживают эту функцию.

public boolean nextResult ( )
return boolean

Возвращает true при успехе или false при неудаче.

read() public method

Перемещает чтец к следующей строке в наборе результатов.

public array read ( )
return array

Текущая строка, false, если больше строк нет.

readAll() public method

Считывает весь набор результатов в массив.

public array readAll ( )
return array

Набор результатов (каждый элемент массива представляет собой строку данных). Пустой массив будет возвращен, если результат не содержит строк.

readColumn() public method

Возвращает один столбец из следующей строки набора результатов.

public mixed readColumn ( $columnIndex )
$columnIndex integer

Индекс столбца (нумерация с 0)

return mixed

Столбец текущей строки, false, если больше строк нет.

readObject() public method

Возвращает объект, заполненный следующей строкой данных.

public mixed readObject ( $className, $fields )
$className string

Имя класса создаваемого и заполняемого объекта

$fields array

Элементы этого массива передаются в конструктор

return mixed

Заполненный объект, false, если больше строк данных нет.

rewind() public method

Возвращает итератор в начальное состояние.

Этот метод требуется интерфейсом Iterator.

public void rewind ( )
throws yii\base\InvalidCallException

если этот метод вызывается дважды

setFetchMode() public method

Устанавливает режим извлечения по умолчанию для данного оператора

См. также http://www.php.net/manual/en/function.PDOStatement-setFetchMode.php.

public void setFetchMode ( $mode )
$mode integer

Режим извлечения

valid() public method

Возвращает, есть ли строка данных в текущей позиции.

Этот метод требуется интерфейсом Iterator.

public boolean valid ( )
return boolean

Есть ли строка данных в текущей позиции.

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-db-datareader.html

Spec-Zone.ru

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