Class yii\db\BatchQueryResult
| 继承 | yii\db\BatchQueryResult » yii\base\BaseObject |
|---|---|
| 实现 | Iterator, yii\base\Configurable |
| 可用版本自 | 2.0 |
| 源码 | https://github.com/yiichina/yii2/blob/api/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 | integer | 每批返回的行数。 | yii\db\BatchQueryResult |
| $db | yii\db\Connection | 执行批处理查询时要使用的数据库连接。 如果为 null,将使用 "db" 应用程序组件。 | yii\db\BatchQueryResult |
| $each | boolean | 是否在每次迭代期间返回一行。 如果为 false,每次迭代将返回整批行。 | yii\db\BatchQueryResult |
| $query | yii\db\Query | 与批处理查询关联的查询对象。 除非显式调用 reset() 之后,否则不要直接修改此属性。 | yii\db\BatchQueryResult |
公共方法
| 方法 | 描述 | 被定义在 |
|---|---|---|
| __call() | Calls the named method which is not a class method. | yii\base\BaseObject |
| __construct() | Constructor. | yii\base\BaseObject |
| __destruct() | Destructor. | yii\db\BatchQueryResult |
| __get() | Returns the value of an object property. | yii\base\BaseObject |
| __isset() | Checks if a property is set, i.e. defined and not null. | yii\base\BaseObject |
| __set() | Sets value of an object property. | yii\base\BaseObject |
| __unset() | Sets an object property to null. | yii\base\BaseObject |
| canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\BaseObject |
| canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\BaseObject |
| className() | Returns the fully qualified name of this class. | yii\base\BaseObject |
| current() | 返回当前数据集。 此方法是接口 Iterator 所必需的。 | yii\db\BatchQueryResult |
| hasMethod() | Returns a value indicating whether a method is defined. | yii\base\BaseObject |
| hasProperty() | Returns a value indicating whether a property is defined. | yii\base\BaseObject |
| init() | Initializes the object. | yii\base\BaseObject |
| key() | 返回当前数据集的索引。 此方法是接口 Iterator 所必需的。 | yii\db\BatchQueryResult |
| next() | 将内部指针移动到下一个数据集。 此方法是接口 Iterator 所必需的。 | yii\db\BatchQueryResult |
| reset() | 重置批处理查询。 此方法将清除现有的批查询,以便执行新的批查询。 | yii\db\BatchQueryResult |
| rewind() | 将迭代器重置为初始状态。 此方法是接口 Iterator 所必需的。 | yii\db\BatchQueryResult |
| valid() | 返回当前位置是否存在有效的数据集。 此方法是接口 Iterator 所必需的。 | yii\db\BatchQueryResult |
属性详情
每批返回的行数。
执行批处理查询时要使用的数据库连接。 如果为 null,将使用 "db" 应用程序组件。
是否在每次迭代期间返回一行。 如果为 false,每次迭代将返回整批行。
与批处理查询关联的查询对象。 除非显式调用 reset() 之后,否则不要直接修改此属性。
方法详情
Destructor.
| public void __destruct() |
返回当前数据集。 此方法是接口 Iterator 所必需的。
| public mixed current() | ||
| return | mixed | 当前数据集。 |
|---|---|---|
获取下一批数据。
| protected array fetchData() | ||
| return | array | 获取的数据 |
|---|---|---|
返回当前数据集的索引。 此方法是接口 Iterator 所必需的。
| public integer key() | ||
| return | integer | 当前行的索引。 |
|---|---|---|
将内部指针移动到下一个数据集。 此方法是接口 Iterator 所必需的。
| public void next() |
重置批处理查询。 此方法将清除现有的批查询,以便执行新的批查询。
| public void reset() |
将迭代器重置为初始状态。 此方法是接口 Iterator 所必需的。
| public void rewind() |
返回当前位置是否存在有效的数据集。 此方法是接口 Iterator 所必需的。
| public boolean valid() | ||
| return | boolean | 当前位置是否存在有效的数据集。 |
|---|---|---|