2016-03-28 29 views
-1
nicht

Ich habe 2 Tabelle, wo ich auf Beziehung haben zwischen diesen beidenYü Modell Beziehung arbeiten

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

in „Bio“ Modell schreiben Ich mag dieses

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; 
} 

und in „Präzeptor“ -Modell ich schreibe wie dieses

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']); 
} 

Aber mein Problem ist, wenn ich es in Bio-Ansicht zeigen sie zeigen nur „Preceptor_ID“ Wert in allen 3 Feld so wie kann ich beide "Preceptor_ID1" zeigen & "Preceptor_ID2"

+0

ist es yii1 oder yii2? –

+0

Zeigen Sie auch Ihre Sicht. – ttdijkstra

+0

@ChetanAmeta in yii 2 Voraus –

Antwort

0

In Ihrem Bio-Modell geben Sie die gleichen Beziehungen an, wenn Sie den Namen für verschiedene Präzeptoren anfordern. Es sollte wie folgt sein:

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

Diese Art der Anforderung von Daten ist sehr redundant. Sie sollten nur die Beziehung definieren und den Namen in der Ansicht wie $bio->preceptorID#->name anfordern.