关于CDbDataReader转换成CArrayDataProvider的问题~ [ 新手入门 ]
我直接用 sql 语句进行了查询:
$db = Yii::app()->db;
$sql = 'select type from tableA';
$results = $db->createCommand($sql)->queryAll();
这样得到了 $results 为 CDbDataReader,我想用 CGridView 显示它,查了一下是需要转换成 CArrayDataProvider,在如下页面:
我照做了,如下
$dataProvider = new CArrayDataProvider(
$results,
array(
'id'=>'myDataProvider',
'sort'=>array(
'attributes'=>array(
'type',
),
),
'pagination'=>array(
'pageSize'=>20,
),
),
);
可是写了这一句以后,页面就不显示数据了,删除就显示,并且我使用 foreach 循环 $results 能看见肯定是已经查出了数据的,只是在转换的时候出错了。
请问应该如何修改呢?
共 1 条回复
-
$rawData=Yii::app()->db->createCommand('SELECT * FROM tbl_user')->queryAll(); // or using: $rawData=User::model()->findAll(); $dataProvider=new CArrayDataProvider($rawData, array( 'id'=>'user', 'sort'=>array( 'attributes'=>array( 'id', 'username', 'email', ), ), 'pagination'=>array( 'pageSize'=>10, ), )); // $dataProvider->getData() will return a list of arrays.
这里有一个例子。
crescent
注册时间:2012-07-07
最后登录:1970-01-01
在线时长:0小时0分
最后登录:1970-01-01
在线时长:0小时0分
- 粉丝0
- 金钱95
- 威望0
- 积分95