Eselect2是我正在使用的扩展,myADropDown()获取数据并显示但是我需要在下拉列表中连接两个或更多列
model1视图
<?php $this->widget('ext.select2.ESelect2', array(
'name' => 'id',
'model' => $model,
'options' => array(
'placeholder' => $model->getAttributeLabel('id'),
),
'data' => $model->myADropDown(),
));?>
MODEL1
public function getConcatened()
{
return $this->name.' '.$this->locate.' '.$this->rating;
}
public function myADropDown()
{
$vid=Yii::app()->SESSION['vid'];
$gid=Model2::model()->xyz($vid);
$list=CHtml::listData($gid,'id','concatened');
return $list;
}
// id在另一个tbl
中是fk在下拉列表中,我需要的是姓名,位置,每个人的评分,我无法这样做
请让我知道如何实现它
答案 0 :(得分:0)
为了连接listdata中的表字段,请检查此Yii论坛答案:
根据链接建议,您需要在模型中添加一个函数来获取连接字符串。
public function __get($key){
$action = 'get'.str_replace(' ','',ucwords(str_replace('_',' ',$key)));
if(method_exists($this, $action)) return $this->$action();
return parent::__get($key);
}