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

エイリアスproductand cnt(var AS alias) を使用する場合は、モデル レポートでそのパブリック プロパティを作成する必要があります。

例:

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