framework/db/Query.php
public function each($batchSize = 100, $db = null)
    {
        return Yii::createObject([
            'class' => BatchQueryResult::className(),
            'query' => $this,
            'batchSize' => $batchSize,
            'db' => $db,
            'each' => true,
        ]);
    }
public function each($batchSize = 100, $db = null)
    {
        return Yii::createObject([
            'class' => BatchQueryResult::className(),
            'query' => $this,
            'batchSize' => $batchSize,
            'db' => $db,
            'each' => true,
        ]);
    }
Starts a batch query and retrieves data row by row.

This method is similar to [[batch()]] except that in each iteration of the result,
only one row of data is returned. For example,

```php
$query = (new Query)->from('user');
foreach ($query->each() as $row) {
}
```

@param int $batchSize the number of records to be fetched in each batch.
@param Connection $db the database connection. If not set, the "db" application component will be used.
@return BatchQueryResult the batch query result. It implements the [[\Iterator]] interface
and can be traversed to retrieve the data in batches.