Abstract Class yii\data\BaseDataProvider

继承yii\data\BaseDataProvider » yii\base\Component » yii\base\BaseObject
实现yii\base\Configurable, yii\data\DataProviderInterface
子类yii\data\ActiveDataProvider, yii\data\ArrayDataProvider, yii\data\SqlDataProvider
可用自版本2.0
源代码 https://github.com/yiisoft/yii2/blob/master/framework/data/BaseDataProvider.php

BaseDataProvider 提供了一个实现 yii\data\DataProviderInterface 的基类.

有关 BaseDataProvider 的更多详细信息和使用信息, 请参阅 权威指南 - 显示数据 - 数据提供器(Data Providers).

公共属性

隐藏继承的属性

属性类型描述定义在
$behaviors yii\base\Behavior[] 附加到此组件的行为列表. 该属性是只读的. yii\base\Component
$count integer 当前页面中的数据模型的数量. 该属性是只读的. yii\data\BaseDataProvider
$id string 在所有数据提供者中唯一标识数据提供者的 ID. yii\data\BaseDataProvider
$keys array 对应于 $models 的键值列表. $models 中的每个数据模型都由该数组中相应的键值唯一标识. yii\data\BaseDataProvider
$models array 当前页面中的数据模型列表. yii\data\BaseDataProvider
$pagination yii\data\Pagination|false 分页对象. 如果为false, 则表示分页被禁用. 请注意, 此属性的类型在 getter 和 setter 中有所不同. 有关详细信息, 请参阅getPagination()setPagination(). yii\data\BaseDataProvider
$sort yii\data\Sort|boolean 排序对象. 如果为false, 则表示排序被禁用. 请注意, 此属性的类型在 getter 和 setter 中有所不同. 有关详细信息, 请参阅 getSort()setSort(). yii\data\BaseDataProvider
$totalCount integer 可能的数据模型的总数. yii\data\BaseDataProvider

公共方法

隐藏继承的方法

方法描述定义在
__call() 调用不是类方法的指定的方法. yii\base\Component
__clone() 在通过克隆现有对象创建对象之后调用此方法. yii\base\Component
__construct() 构造函数. yii\base\BaseObject
__get() 返回组件属性的值. yii\base\Component
__isset() 检查属性是否已设置, 即已定义且不为null. yii\base\Component
__set() 设置组件属性的值. yii\base\Component
__unset() 将组件属性设置为null. yii\base\Component
attachBehavior() 将行为附加到此组件. yii\base\Component
attachBehaviors() 将行为列表附加到组件. yii\base\Component
behaviors() 返回此组件应该具有的行为列表. yii\base\Component
canGetProperty() 返回一个值, 指示属性是否可读取. yii\base\Component
canSetProperty() 返回一个值, 指示属性是否可设置. yii\base\Component
className() 返回此类的完全限定名称. yii\base\BaseObject
detachBehavior() 从组件中分离一个行为. yii\base\Component
detachBehaviors() 分离组件中的所有行为. yii\base\Component
ensureBehaviors() 确保在 behaviors() 中声明的行为已附加到此组件. yii\base\Component
getBehavior() 返回指定的行为对象. yii\base\Component
getBehaviors() 返回附加到此组件的所有行为. yii\base\Component
getCount() 返回当前页面中的数据模型的数量. yii\data\BaseDataProvider
getKeys() 返回与数据模型关联的键值列表. yii\data\BaseDataProvider
getModels() 返回当前页面中的数据模型列表. yii\data\BaseDataProvider
getPagination() 返回此数据提供者使用的分页对象. yii\data\BaseDataProvider
getSort() 返回此数据提供者使用的排序对象. yii\data\BaseDataProvider
getTotalCount() 返回数据模型的总数. yii\data\BaseDataProvider
hasEventHandlers() 返回一个值, 指示是否有任何处理程序附加到指定的事件. yii\base\Component
hasMethod() 返回一个值, 指示方法是否已定义. yii\base\Component
hasProperty() 返回一个值, 指示属性是否已定义. yii\base\Component
init() 初始化对象. yii\data\BaseDataProvider
off() 从该组件分离现有的事件处理程序. yii\base\Component
on() 将事件处理程序附加到事件. yii\base\Component
prepare() 准备数据模型和键. yii\data\BaseDataProvider
refresh() 刷新数据提供者. yii\data\BaseDataProvider
setKeys() 设置与数据模型关联的键值列表. yii\data\BaseDataProvider
setModels() 在当前页面中设置数据模型. yii\data\BaseDataProvider
setPagination() 为此数据提供者设置分页. yii\data\BaseDataProvider
setSort() 为此数据提供者设置排序定义。 yii\data\BaseDataProvider
setTotalCount() 设置数据模型的总数. yii\data\BaseDataProvider
trigger() 触发事件. yii\base\Component

受保护的方法

隐藏继承的方法

方法描述定义在
prepareKeys() 准备与当前可用数据模型关联的键. yii\data\BaseDataProvider
prepareModels() 准备将在当前页面中提供的数据模型. yii\data\BaseDataProvider
prepareTotalCount() 返回一个值, 该值指示此数据提供者中的数据模型总数. yii\data\BaseDataProvider

属性详情

$count public 属性

当前页面中的数据模型的数量. 该属性是只读的.

public integer $count null
$id public 属性

在所有数据提供者中唯一标识数据提供者的 ID.

如果未设置, 则通过以下方法自动生成:

  • 第一个数据提供者 ID 是空的.
  • 第二个和所有后续的数据提供者 ID 是: dp-1, dp-2等.
public string $id null
$keys public 属性

对应于 $models 的键值列表. $models 中的每个数据模型都由该数组中相应的键值唯一标识.

public array $keys null
$models public 属性

当前页面中的数据模型列表.

public array $models null
$pagination public 属性

分页对象. 如果为false, 则表示分页被禁用. 请注意, 此属性的类型在 getter 和 setter 中有所不同. 有关详细信息, 请参阅getPagination()setPagination().

$sort public 属性

排序对象. 如果为false, 则表示排序被禁用. 请注意, 此属性的类型在 getter 和 setter 中有所不同. 有关详细信息, 请参阅 getSort()setSort().

public yii\data\Sort|boolean $sort null
$totalCount public 属性

可能的数据模型的总数.

public integer $totalCount null

方法详情

getCount() public 方法

返回当前页面中的数据模型的数量.

public integer getCount ( )
return integer

当前页面中的数据模型的数量.

getKeys() public 方法

返回与数据模型关联的键值列表.

public array getKeys ( )
return array

$models 对应的键值列表. $models 中的每个数据模型都由该数组中相应的键值唯一标识.

getModels() public 方法

返回当前页面中的数据模型列表.

public array getModels ( )
return array

当前页面中的数据模型列表.

getPagination() public 方法

返回此数据提供者使用的分页对象.

Note: 你应先调用 prepare()getModels() 以获得 yii\data\Pagination::$totalCountyii\data\Pagination::$pageCount 的正确值.

public yii\data\Pagination|false getPagination ( )
return yii\data\Pagination|false

分页对象. 如果为false, 则表示分页被禁用.

getSort() public 方法

返回此数据提供者使用的排序对象.

public yii\data\Sort|boolean getSort ( )
return yii\data\Sort|boolean

排序对象. 如果为false, 则表示排序被禁用.

getTotalCount() public 方法

返回数据模型的总数.

$paginationfalse时, 则返回与 $count 相同的值.

否则, 它会调用 prepareTotalCount() 来计数.

public integer getTotalCount ( )
return integer

可能的数据模型的总数.

init() public 方法

初始化对象.

在使用给定的配置初始化对象之后, 在构造函数的末尾调用此方法.

public void init ( )
prepare() public 方法

准备数据模型和键.

此方法将准备可以通过 getModels()getKeys() 检索的数据模型和键.

如果之前未调用过 getModels()getKeys(), 则将隐式调用此方法.

public void prepare ( $forcePrepare false )
$forcePrepare boolean

是否强制数据准备, 即使之前已经完成.

prepareKeys() protected abstract 方法

准备与当前可用数据模型关联的键.

protected abstract array prepareKeys ( $models )
$models array

可用的数据模型.

return array

键.

prepareModels() protected abstract 方法

准备将在当前页面中提供的数据模型.

protected abstract array prepareModels ( )
return array

可用的数据模型.

prepareTotalCount() protected abstract 方法

返回一个值, 该值指示此数据提供者中的数据模型总数.

protected abstract integer prepareTotalCount ( )
return integer

此数据提供者中的数据模型总数.

refresh() public 方法

刷新数据提供者.

调用此方法后, 如果再次调用 getModels(), getKeys()getTotalCount(), 它们将重新执行查询并返回最新的可用数据.

public void refresh ( )
setKeys() public 方法

设置与数据模型关联的键值列表.

public void setKeys ( $keys )
$keys array

$models 对应的键值列表.

setModels() public 方法

在当前页面中设置数据模型.

public void setModels ( $models )
$models array

当前页面中的数据模型.

setPagination() public 方法

为此数据提供者设置分页.

public void setPagination ( $value )
$value array|yii\data\Pagination|boolean

该数据提供者使用的分页.

这可以是以下之一:

一个用于创建分页对象的配置数组. class元素默认为yii\data\Pagination;

throws yii\base\InvalidArgumentException
setSort() public 方法

为此数据提供者设置排序定义。

public void setSort ( $value )
$value array|yii\data\Sort|boolean

此数据提供者使用的排序定义.

这可以是以下之一:

  • 一个用于创建排序定义对象的配置数组. class元素默认为yii\data\Sort;
  • 一个 yii\data\Sort 或其子类的实例;
  • 如果排序需要被禁用, 则为false
throws yii\base\InvalidArgumentException
setTotalCount() public 方法

设置数据模型的总数.

public void setTotalCount ( $value )
$value integer

数据模型的总数.