2017-04-23 69 views
0

我正在開發Yii 2項目。我有3個表:在Yii 2中加入3張桌子

1)學生數據表

  • student_data_id
  • 姓氏
  • 如first_name

2)學生表

  • student_id數據
  • student_data_id
  • 類標識碼

3)成績表

  • student_id數據

從成績表,我需要訪問的名稱學生。換句話說,我需要使用student_id從學生數據表中檢索學生的姓氏和名字。我熟悉連接表,但我不知道如何在Yii2中進行語法合成。我希望我很清楚,並且提前感謝你。

編輯 我也有3個模型的每個表。

回答

2

Scores模型,建立以下關係:

public function getStudentData() { 
    return $this->hasOne(StudentData::className(), ['student_data_id' => 'student_data_id']) 
     ->viaTable('student', ['student_id' => 'student_id']); 
} 
+0

什麼是過濾器有先生的意思嗎?這是一個模型嗎? –

+0

對不起,我從一個例子中提取了代碼,我忘了改變它。更新。 – gmc

+0

我得到您的答案先生的邏輯。但是我在scores.student_id –