yii2.0 数据提供者

数据提供者是一个实现了 yii\data\DataProviderInterface 接口的类。 它主要用于获取分页和数据排序。它经常用在 data widgets 小物件里,方便终端用户进行分页与数据排序。
下面的数据提供者类都包含在Yii的发布版本里面:

yii\data\ActiveDataProvider:使用 yii\db\Query 或者 yii\db\ActiveQuery 从数据库查询数据并且以数组项的方式或者 Active Record 实例的方式返回。
yii\data\SqlDataProvider:执行一段SQL语句并且将数据库数据作为数组返回。
yii\data\ArrayDataProvider:将一个大的数组依据分页和排序规格返回一部分数据。

所有的这些数据提供者遵守以下模式:

// 根据配置的分页以及排序属性来创建一个数据提供者
$provider = new XyzDataProvider([
    'pagination' => [...],
    'sort' => [...],
]);

// 获取分页和排序数据
$models = $provider->getModels();

// 在当前页获取数据项的数目
$count = $provider->getCount();

// 获取所有页面的数据项的总数
$totalCount = $provider->getTotalCount();

你可以通过配置 yii\data\BaseDataProvider::pagination 和 yii\data\BaseDataProvider::sort的属性来设定数据提供者的分页和排序行为。 属性分别对应于 yii\data\Pagination 和 yii\data\Sort。 你也可以对它们配置false来禁用分页和排序特性。

Data widgets,诸如 yii\grid\GridView,有一个属性名叫 dataProvider ,这个属性能够提供一个 数据提供者的示例并且可以显示所提供的数据,例如,

echo yii\grid\GridView::widget([
    'dataProvider' => $dataProvider,
]);

详细介绍这些数据提供者的使用方法请参考网址:http://www.yiichina.com/doc/guide/2.0/output-data-providers

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值