多表進行關聯時,關聯時做好了,就是不顯示子表的欄位,
//控制器
$devlist = Dtest::find()
->alias('d')
->joinwith('school')
->select('d.title, t.testname')
->asArray()//加上這個就可以顯示子欄位了
->all();
//Dtest 模型中
public function getschool(){
//第一個引數還是關聯的模型,第二個依舊還是陣列,陣列第一個就是關聯的 模型的外來鍵,第二個就是自身的外來鍵
return $this->hasMany(Schooltest::class,['schoolid'=>'testid'])->asArray();
}
本以為這樣就可以了,結果報錯
Undefined index: testid
後來改成
//控制器
$devlist = Dtest::find()
->alias('d')
->joinwith('school')
->select('d.title, d.testid, t.testname')//需要顯示主表或副表關聯id
->asArray()//加上這個就可以顯示子欄位了
->all();
//Dtest 模型中
這樣就可以顯示又不會出錯了。
本作品採用《CC 協議》,轉載必須註明作者和本文連結