Php 如何在Yii中的CDetailView中显示ListData()
假设我有一个CDetailView代码,如下所示Php 如何在Yii中的CDetailView中显示ListData(),php,yii,Php,Yii,假设我有一个CDetailView代码,如下所示 $this->widget('zii.widgets.CDetailView', array( 'data'=>$model, 'attributes'=>array( 'title', 'owner.name', 'description:html', array(
$this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>array(
'title',
'owner.name',
'description:html',
array(
'label'=>'City',
'type'=>'raw',
'value'=>'', // ??? How to insert here ListData function that it will display list of different cities
),
),
));
现在在上面的代码中,我想插入列表数据数组中的城市列表
$list = CHtml::listData($model->city, "city_id", "cities");
如果我在print\r()
中保留$list
。如下图所示
Array ( [1] => London [2] => Paris [3] => New York )
任何帮助都将不胜感激
谢谢。
值
应具有该列的值。因此,您必须使用过滤器
,如下所示
$this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>array(
'title',
'owner.name',
'description:html',
array(
'label'=>'City',
'type'=>'raw',
'value'=>$data->city_id,
'filter'=>CHtml::listData($model->city, "city_id", "cities")
),
),
));
Value
应该为列指定值。因此,您必须使用过滤器
,如下所示
$this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>array(
'title',
'owner.name',
'description:html',
array(
'label'=>'City',
'type'=>'raw',
'value'=>$data->city_id,
'filter'=>CHtml::listData($model->city, "city_id", "cities")
),
),
));
数组(
“标签”=>“城市”,
'type'=>'raw',
'值'=>内爆('
',$list),
'类型'=>'原始',
),
数组(
“标签”=>“城市”,
'type'=>'raw',
'值'=>内爆('
',$list),
'类型'=>'原始',
),
如果它不起作用,那么您可以试试这个
'label'=>'City',
'type'=>'raw',
'value'=>array($model,'createListFunction'),
然后在模型类中创建一个名为createListFunction
像
如果它不起作用,那么你可以试试这个
'label'=>'City',
'type'=>'raw',
'value'=>array($model,'createListFunction'),
然后在模型类中创建一个名为createListFunction
像
当我使用'value'=>$data->city\u id时,它给出了一个未定义的错误,即$data,其次,如果我使用'value'=>$model->city\u id,它将只打印id号,但我不需要id号,我需要该编号对应的值。因此,要打印城市名称,您必须在模型本身中获取城市名称。为此,您必须在模型中定义一个变量来存储city\u name,并在别名为
city\u name
的查询中获取city name。然后,当我使用'value'=>$data->city\u id时,你可以直接调用城市名称作为$data->city\u name
,它给出了一个未定义的错误,即$data,其次,如果我使用'value'=>$model->city\u id,它将只打印id号,但我不需要id号,我需要该号码对应的值。因此,要打印城市名称,您必须在模型本身中获取城市名称。为此,您必须在模型中定义一个变量来存储city\u name,并在别名为city\u name
的查询中获取city name。然后您可以直接将城市名称命名为$data->city\u name