所以问题是,我有一个视图,它将呈现一个包含计数值的CGridView。我必须制作一个自定义CDbCriteria,以便我可以选择正确的信息。现在我无法在CGridView中显示它。
这是构建CActiveDataProvider的控制器操作:
public function actionListProducts(){
$criteria=new CDbCriteria;
$criteria->select = 'rp_product as product, count(rp_id) as cnt';
$criteria->group = 'product';
$dataProvider=new CActiveDataProvider('report', array( 'criteria'=>$criteria,
));
$this->render('listProducts',array(
'dataProvider'=>$dataProvider,
));
}
我试图在这个CGridView中显示它:
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'reports-grid',
'dataProvider'=>$dataProvider,
'columns'=>array(
'product',
'cnt'
),
));
我知道数据已正确获取,因为我的CGridView具有正确的行数...我想在“列”描述中写什么?
谢谢
答案 0 :(得分:3)
如果要使用别名product
和cnt
(var AS别名),则必须在模型报告中创建它的公共属性。
示例:
Model extends CActiveRecord {
....
public $product;
public $cnt;
...
}