没有命名空间的类 yii yii\base yii\behaviors yii\caching yii\captcha yii\console yii\console\controllers yii\console\widgets yii\data yii\db yii\db\conditions yii\db\cubrid yii\db\cubrid\conditions yii\db\mssql yii\db\mssql\conditions yii\db\mysql yii\db\oci yii\db\oci\conditions yii\db\pgsql yii\db\sqlite yii\db\sqlite\conditions yii\di yii\filters yii\filters\auth yii\grid yii\helpers yii\i18n yii\log yii\mail yii\mutex yii\rbac yii\rest yii\test yii\validators yii\web yii\widgets

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

受保护的方法

隐藏继承的方法

方法描述被定义在
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() 公共 方法

Destructor.

public void __destruct()
current() 公共 方法

返回当前数据集。 此方法是接口 Iterator 所必需的。

public mixed current()
return mixed

当前数据集。

fetchData() 受保护 方法

获取下一批数据。

protected array fetchData()
return array

获取的数据

key() 公共 方法

返回当前数据集的索引。 此方法是接口 Iterator 所必需的。

public integer key()
return integer

当前行的索引。

next() 公共 方法

将内部指针移动到下一个数据集。 此方法是接口 Iterator 所必需的。

public void next()
reset() 公共 方法

重置批处理查询。 此方法将清除现有的批查询,以便执行新的批查询。

public void reset()
rewind() 公共 方法

将迭代器重置为初始状态。 此方法是接口 Iterator 所必需的。

public void rewind()
valid() 公共 方法

返回当前位置是否存在有效的数据集。 此方法是接口 Iterator 所必需的。

public boolean valid()
return boolean

当前位置是否存在有效的数据集。