gettar 2012-07-24 11:32:35 2766次浏览 3条回复 0 0 0

刚学YII没多久,遇到一个问题,请各位指教下,谢谢

<?php $this->widget('zii.widgets.grid.CGridView', array(
	'id'=>'order-grid',
	'dataProvider'=>$model->search(),
	'filter'=>$model,
	'columns'=>array(
		'id',
		array('name'=>'username','value'=>User::model()->findByAttributes(array('username' => $model->username))->realname),//显示用户名
		array('name'=>'price_total','value'=>getPrice($model->price_total)),//显示价钱
		'address',
		'phone_number',
		array('name'=>'status','value'=>getStatus($model->status)),//显示状态
		/*
		'created_date',
		'updated_date',
		'note',
		*/
		array(
			'class'=>'CButtonColumn',
		),
	),
)); 
function getStatus($num) {
	switch ($num){
		case 0:$status="第一步";break;
		case 1:$status="第二步";break;
		case 2:$status="完成";break;
	}
	return $status;
}

function getPrice($money){
	return $money."元";
}
?>

代码如上,问题是在显示的时候只有“显示状态”是正常调用方法的,“显示用户名”及“显示价钱”这两个方法没被调用,且$model->username$model->price都为空。但在其他页面上,同样的写法都可以正常运行。 然后我改成

array('name'=>'username','value'=>$model->username)),//显示用户名
array('name'=>'price_total','value'=>$model->price_total),//显示价钱

$model->username$model->price又有值了

请教各位老鸟这是哪里的问题?谢谢

  • 回复于 2012-07-24 12:59 举报
    function getStatus($num) {
            switch ($num){
                    case 0:$status="第一步";break;
                    case 1:$status="第二步";break;
                    case 2:$status="完成";break;
            }
            return $status;
    }
    
    function getPrice($money){
            return $money."元";
    }
    

    这连个方法为什么不写到控制器中?
    方便多了

  • 回复于 2012-07-24 13:05 举报

    我只是贴出来,方便你们看而已

  • 回复于 2012-07-24 13:56 举报

    问题已经解决,原来是用$data,而不是$model

您需要登录后才可以回复。登录 | 立即注册