2016-03-28 47 views
-1

Yii的模型關係我有2表,其中我不得不在「生物」模型這兩不工作

-------------------   ----------------- 
| preceptor |   |  bio  | 
|-----------------|   |---------------| 
| Preceptor_id |   | bio_id  | 
| Preceptor_name |   | Preceptor_ID | 
| wat_id   |   | Preceptor_ID1 | 
-------------------   | Preceptor_ID2 | 
           ----------------- 

之間的關係,我這樣寫

public function getPreceptor(){ 
    return $this->hasOne(Preceptor::className(),['Preceptor_id'=>'Preceptor_ID']); 
} 
public function getPreceptorName(){ 
    return $this->preceptor->Preceptor_name; 
} 

public function getPreceptorID1(){ 
    return $this->hasOne(Preceptor::className(),['Preceptor_id'=>'Preceptor_ID1']); 
} 
public function getPreceptorID1Name(){ 
    return $this->preceptor->Preceptor_name; 
} 

public function getPreceptorID2(){ 
    return $this->hasOne(Preceptor::className(),['Preceptor_id'=>'Preceptor_ID2']); 
} 
public function getPreceptorID2Name(){ 
    return $this->preceptor->Preceptor_name; 
} 

和「導師」模式我這樣寫

public function getBio(){ 
    return $this->hasOne(Bio::className(), ['Preceptor_ID' => 'Preceptor_id']); 
} 

public function getBios0(){ 
    return $this->hasOne(Bio::className(), ['Preceptor_ID1' => 'Preceptor_id']); 
} 

public function getBios1(){ 
    return $this->hasOne(Bio::className(), ['Preceptor_ID2' => 'Preceptor_id']); 
} 

但我的問題是,當我表現出來的生物視圖只顯示在所有3場「Preceptor_ID」值,所以如何我可以同時顯示「Preceptor_ID1」&「Preceptor_ID2」

+0

是yii1還是yii2? –

+0

顯示您的觀點。 – ttdijkstra

+0

@ChetanAmeta在YII 2預先 –

回答

0

在您的生物模型中,當您爲不同的導師請求名稱時指定相同的關係。它應該如下所示:

public function getPreceptorID#Name() { 
    return $this->preceptorID#->name; 
} 

這種請求數據的方式非常多餘。您應該定義關係並在視圖中請求名稱,如$bio->preceptorID#->name