0

所以问题是,我有一个视图,它将呈现一个包含计数值的 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 有正确的行数......我想在“列”描述中写什么?

谢谢

4

1 回答 1

3

如果要使用别名productcnt(var AS 别名),则必须在模型报告中创建它的公共属性。

例子:

Model extends CActiveRecord {
....
public $product;
public $cnt;
...
}
于 2014-01-30T16:43:27.950 回答