我的模型中有一个自定义数据提供者
我在 Controller 中试过了
public function actionMonthTotal()
{
$model=new Rapporti();
$this->render('monthTotal',array(
'dataProvider'=>$model->monthTotal(),
));
}
其中 monthTotal 是给我 DataProvider 的模型函数
实际上“monthTotal”是 view.php 的副本/过去,它使用使用 _monthTotal 的 clistView,这是 _view.php 的副本/过去
我需要简单地从 dataProvider 获取数据集(“SELECT COUNT、SUM、SUM 等...”)并迭代到记录集中以将一个简单的 TABLE 回显到 monthTotal View 中。所以...
如何从 View 中使用 dataProvider 来获取记录以及如何遍历记录?
我的月总计是这个并且在“报告”模型中
实际上 report 是 Report N -> 1 Pionierato 的关系(抱歉是意大利语,但只是对象名称)
public function totalMonth() {
$criteria = new CDbCriteria();
$criteria->with = array ('pionierato');
$criteria->condition = 'dataBetel=:month';
$criteria->select = "COUNT(t.id) as numProclamatori,
pionierato.tipo as tipoPionierato,
SUM(libri) as sommaLibri,
SUM(opuscoli) as sommaOpuscoli,
SUM(ore) as sommaOre,
SUM(riviste) as sommaRiviste,
SUM(visite) as sommaVisite,
SUM(studi) as sommaStudi";
$criteria->group = "t.dataBetel, t.pionieratoId";
$criteria->params = array ('month' => "2012-09-01");
$dataProvider=new CActiveDataProvider('Rapporti',
array ('criteria' => $criteria)
);
return $dataProvider;
}
我需要使用此数据提供程序获取它将输出的第 3 条记录并打印一个 3 行表格。静态。
根据第一个答案的建议,我得到了这个:
最佳答案
我是这样得到结果的:
<?php
foreach ($dataProvider->getData() as $id => $singleRecord) {
$this->renderPartial('_monthTotal', array('data' => $singleRecord));
}
?>
并删除 clistview 小部件。
但是你的回答对我帮助很大,所以我会优先考虑你,谢谢!
关于php - Yii:如何从 CDataProvider 获取记录,以及如何回显记录字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12885142/