在Yii中,为什么要使用CActiveDataProvider而不是Post :: model() - > findAll()?

时间:2012-07-03 13:45:08

标签: php yii yii-cmodel

我在控制器CActiveDataProvider函数中看到actionIndex()

使用它而不仅仅是Post::model()->findAll()

之间有什么区别吗?

1 个答案:

答案 0 :(得分:3)

CActiveDataProviderCActiveRecord的包装器,具有sortingpaginationfiltering的扩展功能。通常,CActiveDataProviderziiCListView小部件一起使用,这些小部件正在利用其排序和搜索功能。因此,如果你想用列表或表格(可选)排序/过滤/分页来显示数据 - 在Yii中这样做的最方便的方法是使用描述的zii小部件或它们的扩展。

如果您只需要获取数据并以任何其他方式使用它,但没有CGridViewCListView提供的智能呈现机制 - 请使用CGridView,因为它不会执行除了获取数据之外的任何其他内容。

reference