我是yii的新手并在yii列表视图中显示用户信息,问题是我有一个国家/地区列表,在该基础上我有一个国家/地区代码来显示国家/地区但我想显示国家/地区值而不是国家/地区代码,我有一个像这样的数组
array('IN'=>'India','US'=>'United State'............................,'AUS'=>'Australia');
我在视图中使用此代码来显示信息
<?php $this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>array(
'site_id',
'name',
'desc',
'status',
's_icon',
array(
'name' => 'sys_country',
'value' =>$sysinfo->sys_country,
),
),
)); ?>
它正在显示国家/地区代码,有没有办法让我可以传递国家/地区数组,从这个数组我可以找到数组键中的值
提前感谢您的帮助
答案 0 :(得分:0)
你这样做:
$this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>array(
'site_id',
'name',
'desc',
'status',
's_icon',
array(
'name' => 'sys_country',
'value' =>$countryArray[$model->sys_country],
),
),));
答案 1 :(得分:0)
假设你有tbl_country
表:
country_code | country_name
------------ | ------------
IN | India
US | United States
... | ...
并且您拥有该表的Country
模型。
然后,您可以为country
模型定义User
关系:
public function relations () {
return array(
'country' => array( self::BELONGS_TO, 'Country', 'country_code' ),
);
}
现在在CDetailView
,您只需使用country.country_name
:
'attributes'=>array(
...
'name',
'status',
'country.country_name',
...
),