2014-01-15 64 views
0

Eselect2是擴展正在使用和myADropDown(連接兩個或多個列)獲取數據並顯示,但然後我需要在下拉菜單中不能得到ESelect2擴展在警予在下拉

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

對於計算ListData串聯表中的字段,請檢查這個Yii的論壇答案:

Link

按照該鏈接的建議,你需要在模型中添加一個函數來獲取連接字符串。

public function __get($key){ 
       $action = 'get'.str_replace(' ','',ucwords(str_replace('_',' ',$key))); 
       if(method_exists($this, $action)) return $this->$action(); 
       return parent::__get($key); 
     } 
+0

沒有它的不工作以及使用eselect2作爲我需要的擴展 – hir

+0

這不是問題與eselect2。您正在準備來自listdata的數據。所以你只需要在模型中工作。不在選擇。 –