Class yii\db\BatchQueryResult
Inheritance | yii\db\BatchQueryResult » yii\base\Component » yii\base\BaseObject |
---|---|
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 |
$behaviors | yii\base\Behavior[] | List of behaviors attached to this component. This property is read-only. | yii\base\Component |
$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\Component |
__clone() | This method is called after the object is created by cloning an existing one. | yii\base\Component |
__construct() | Constructor. | yii\base\BaseObject |
__destruct() | Destructor. | yii\db\BatchQueryResult |
__get() | Returns the value of a component property. | yii\base\Component |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Component |
__set() | Sets the value of a component property. | yii\base\Component |
__unset() | Sets a component property to be null. | yii\base\Component |
__wakeup() | Unserialization is disabled to prevent remote code execution in case application calls unserialize() on user input containing specially crafted string. | yii\db\BatchQueryResult |
attachBehavior() | Attaches a behavior to this component. | yii\base\Component |
attachBehaviors() | Attaches a list of behaviors to the component. | yii\base\Component |
behaviors() | Returns a list of behaviors that this component should behave as. | yii\base\Component |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Component |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Component |
className() | Returns the fully qualified name of this class. | yii\base\BaseObject |
current() | Returns the current dataset. | yii\db\BatchQueryResult |
detachBehavior() | Detaches a behavior from the component. | yii\base\Component |
detachBehaviors() | Detaches all behaviors from the component. | yii\base\Component |
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\base\Component |
getBehavior() | Returns the named behavior object. | yii\base\Component |
getBehaviors() | Returns all behaviors attached to this component. | yii\base\Component |
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\base\Component |
hasMethod() | Returns a value indicating whether a method is defined. | yii\base\Component |
hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\base\Component |
init() | Initializes the object. | yii\base\BaseObject |
key() | Returns the index of the current dataset. | yii\db\BatchQueryResult |
next() | Moves the internal pointer to the next dataset. | yii\db\BatchQueryResult |
off() | Detaches an existing event handler from this component. | yii\base\Component |
on() | Attaches an event handler to an event. | yii\base\Component |
reset() | Resets the batch query. | yii\db\BatchQueryResult |
rewind() | Resets the iterator to the initial state. | yii\db\BatchQueryResult |
trigger() | Triggers an event. | yii\base\Component |
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 |
getRows() | Reads and collects rows for batch | yii\db\BatchQueryResult |
Events
Event | Type | Description | Defined By |
---|---|---|---|
EVENT_FINISH | \yii\db\Event | An event that is triggered when the last batch has been fetched. (available since version 2.0.41) | yii\db\BatchQueryResult |
EVENT_RESET | \yii\db\Event | An event that is triggered when the batch query is reset. (available since version 2.0.41) | yii\db\BatchQueryResult |
Property Details
The number of rows to be returned in each batch.
The DB connection to be used when performing batch query. If null, the "db" application component will be used.
Whether to return a single row during each iteration. If false, a whole batch of rows will be returned in each iteration.
The query object associated with this batch query. Do not modify this property directly unless after reset() is called explicitly.
Method Details
Destructor.
public void __destruct ( ) |
Unserialization is disabled to prevent remote code execution in case application calls unserialize() on user input containing specially crafted string.
See also [[CVE-2020-15148]].
public void __wakeup ( ) |
Returns the current dataset.
This method is required by the interface Iterator.
public mixed current ( ) | ||
return | mixed | The current dataset. |
---|
Fetches the next batch of data.
protected array fetchData ( ) | ||
return | array | The data fetched |
---|---|---|
throws | yii\db\Exception |
Reads and collects rows for batch
protected array getRows ( ) |
Returns the index of the current dataset.
This method is required by the interface Iterator.
public integer key ( ) | ||
return | integer | The index of the current row. |
---|
Moves the internal pointer to the next dataset.
This method is required by the interface Iterator.
public void next ( ) |
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 ( ) |
Resets the iterator to the initial state.
This method is required by the interface Iterator.
public void rewind ( ) |
Returns whether there is a valid dataset at the current position.
This method is required by the interface Iterator.
public boolean valid ( ) | ||
return | boolean | Whether there is a valid dataset at the current position. |
---|
Event Details
An event that is triggered when the last batch has been fetched.
An event that is triggered when the batch query is reset.
See also reset().