【发布时间】:2014-01-17 09:26:51
【问题描述】:
我们可以在 yii 的 Cgridview 中有一个列,其中该列不属于任何模型,因为我没有将值存储在 db 中 .. 即,正在使用选择查询计算剩余天数,其中到期日期存储在 db 中并且currendate 我们很容易得到它......因为 daysleft 不是 db 中使用的任何实体中的字段............
在视图中
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'employee-view-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
array('header'=>'Daysleft','value'=>array($model,'daysleft')),
...........
}
public function daysleft($data,$row)
{
$sql="SELECT datediff(fsp.expirydate,CURDATE())as daysleft
from tbl fsp
WHERE ( fsp.pid = ".$data->pt->id."
AND fsp.mid=".$data->mid.")
limit 3";
$connection = Yii::app()->db;
$command=$connection->createCommand($sql);
$dts=$command->queryRow();
return $dts;
}
结果是这样的
ptid mid daysleft
1 1 30
2 1 10
1 10 1
我可以在 gridview 中显示它吗.......如果不是那么我该怎么办
【问题讨论】: