On this page
Class yii\db\BatchQueryResult
Inheritance | yii\db\BatchQueryResult » yii\base\Object |
---|---|
Implements | Iterator, yii\base\Configurable |
Available since version | 2.0 |
Source Code | https://github.com/yiisoft/yii2/blob/master/framework/db/BatchQueryResult.php |
BatchQueryResult represents a batch query from which you can retrieve data in batches.
You usually do not instantiate BatchQueryResult directly. Instead, you obtain it by calling yii\db\Query::batch() or yii\db\Query::each(). Because BatchQueryResult implements the Iterator interface, you can iterate it to obtain a batch of data in each iteration. For example,
$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) {
}
Public Properties
Property | Type | Description | Defined By |
---|---|---|---|
$batchSize | integer | The number of rows to be returned in each batch. | yii\db\BatchQueryResult |
$db | yii\db\Connection | The DB connection to be used when performing batch query. | yii\db\BatchQueryResult |
$each | boolean | Whether to return a single row during each iteration. | yii\db\BatchQueryResult |
$query | yii\db\Query | The query object associated with this batch query. | yii\db\BatchQueryResult |
Public Methods
Method | Description | Defined By |
---|---|---|
__call() | Calls the named method which is not a class method. | yii\base\Object |
__construct() | Constructor. | yii\base\Object |
__destruct() | Destructor. | yii\db\BatchQueryResult |
__get() | Returns the value of an object property. | yii\base\Object |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Object |
__set() | Sets value of an object property. | yii\base\Object |
__unset() | Sets an object property to null. | yii\base\Object |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Object |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Object |
className() | Returns the fully qualified name of this class. | yii\base\Object |
current() | Returns the current dataset. | yii\db\BatchQueryResult |
hasMethod() | Returns a value indicating whether a method is defined. | yii\base\Object |
hasProperty() | Returns a value indicating whether a property is defined. | yii\base\Object |
init() | Initializes the object. | yii\base\Object |
key() | Returns the index of the current dataset. | yii\db\BatchQueryResult |
next() | Moves the internal pointer to the next dataset. | yii\db\BatchQueryResult |
reset() | Resets the batch query. | yii\db\BatchQueryResult |
rewind() | Resets the iterator to the initial state. | yii\db\BatchQueryResult |
valid() | Returns whether there is a valid dataset at the current position. | yii\db\BatchQueryResult |
Protected Methods
Method | Description | Defined By |
---|---|---|
fetchData() | Fetches the next batch of data. | yii\db\BatchQueryResult |
Property Details
$batchSize public property
The number of rows to be returned in each batch.
public integer $batchSize = 100
$db public property
The DB connection to be used when performing batch query. If null, the "db" application component will be used.
public yii\db\Connection $db = null
$each public property
Whether to return a single row during each iteration. If false, a whole batch of rows will be returned in each iteration.
public boolean $each = false
$query public property
The query object associated with this batch query. Do not modify this property directly unless after reset() is called explicitly.
public yii\db\Query $query = null
Method Details
__destruct() public method
Destructor.
public void __destruct ( ) |
---|
current() public method
Returns the current dataset.
This method is required by the interface Iterator.
public mixed current ( ) | ||
---|---|---|
return | mixed | The current dataset. |
fetchData() protected method
Fetches the next batch of data.
key() public method
Returns the index of the current dataset.
This method is required by the interface Iterator.
next() public method
Moves the internal pointer to the next dataset.
This method is required by the interface Iterator.
public void next ( ) |
---|
reset() public method
Resets the batch query.
This method will clean up the existing batch query so that a new batch query can be performed.
public void reset ( ) |
---|
rewind() public method
Resets the iterator to the initial state.
This method is required by the interface Iterator.
public void rewind ( ) |
---|
valid() public method
Returns whether there is a valid dataset at the current position.
This method is required by the interface Iterator.
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-db-batchqueryresult.html