Класс yii\db\BatchQueryResult
| Наследование | yii\db\BatchQueryResult » yii\base\Object |
|---|---|
| Реализует | Iterator, yii\base\Configurable |
| Доступна с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/db/BatchQueryResult.php |
BatchQueryResult представляет пакетный запрос, из которого можно извлекать данные по частям.
Обычно BatchQueryResult не создается напрямую. Вместо этого его получают, вызвав yii\db\Query::batch() или yii\db\Query::each(). Поскольку BatchQueryResult реализует интерфейс Iterator, его можно итерировать, чтобы получить пакет данных на каждой итерации. Например,
$query = (new Query)->from('user');
foreach ($query->batch() as $i => $users) {
// $users represents the rows in the $i-th batch
}
foreach ($query->each() as $user) {
}
Публичные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $batchSize | целое число | Количество строк, возвращаемых в каждом пакете. | yii\db\BatchQueryResult |
| $db | yii\db\Connection | Подключение к БД, используемое при выполнении пакетного запроса. | yii\db\BatchQueryResult |
| $each | булево | Возвращать ли одну строку на каждой итерации. | yii\db\BatchQueryResult |
| $query | yii\db\Query | Объект запроса, связанный с этим пакетным запросом. | yii\db\BatchQueryResult |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Object |
| __construct() | Конструктор. | yii\base\Object |
| __destruct() | Деструктор. | yii\db\BatchQueryResult |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в значение null. | yii\base\Object |
| canGetProperty() | Возвращает значение, указывающее, можно ли считать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| className() | Возвращает полное имя этого класса. | yii\base\Object |
| current() | Возвращает текущий набор данных. | yii\db\BatchQueryResult |
| hasMethod() | Возвращает значение, указывающее, определен ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует объект. | yii\base\Object |
| key() | Возвращает индекс текущего набора данных. | yii\db\BatchQueryResult |
| next() | Перемещает внутренний указатель к следующему набору данных. | yii\db\BatchQueryResult |
| reset() | Сбрасывает пакетный запрос. | yii\db\BatchQueryResult |
| rewind() | Сбрасывает итератор в начальное состояние. | yii\db\BatchQueryResult |
| valid() | Возвращает, есть ли допустимый набор данных в текущей позиции. | yii\db\BatchQueryResult |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| fetchData() | Извлекает следующий пакет данных. | yii\db\BatchQueryResult |
Подробности о свойствах
$batchSize публичное свойство
Количество строк, возвращаемых в каждом пакете.
public integer $batchSize = 100
$db публичное свойство
Подключение к БД, используемое при выполнении пакетного запроса. Если null, будет использован компонент "db" приложения.
public yii\db\Connection $db = null
$each публичное свойство
Возвращать ли одну строку на каждой итерации. Если false, в каждой итерации будет возвращаться весь пакет строк.
public boolean $each = false
$query публичное свойство
Объект запроса, связанный с этим пакетным запросом. Не изменяйте это свойство напрямую, за исключением случаев, когда явно вызван метод reset().
public yii\db\Query $query = null
Подробности о методах
__destruct() public method
Деструктор.
| public void __destruct ( ) |
|---|
current() public method
Возвращает текущий набор данных.
Этот метод требуется интерфейсом Iterator.
| public mixed current ( ) | ||
|---|---|---|
| return | mixed |
Текущий набор данных. |
fetchData() protected method
Извлекает следующий пакет данных.
| protected array fetchData ( ) | ||
|---|---|---|
| return | array |
Извлеченные данные |
key() public method
Возвращает индекс текущего набора данных.
Этот метод требуется интерфейсом Iterator.
| public integer key ( ) | ||
|---|---|---|
| return | integer |
Индекс текущей строки. |
next() public method
Перемещает внутренний указатель к следующему набору данных.
Этот метод требуется интерфейсом Iterator.
| public void next ( ) |
|---|
reset() public method
Сбрасывает пакет запроса.
Этот метод очистит существующий пакет запроса, чтобы можно было выполнить новый пакет запроса.
| public void reset ( ) |
|---|
rewind() public method
Сбрасывает итератор в исходное состояние.
Этот метод требуется интерфейсом Iterator.
| public void rewind ( ) |
|---|
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-batchqueryresult.html