YII2连接左表子属性不显示
多表进行关联时,关联时做好了,就是不显示子表的字段,
//控制器
$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 协议》,转载必须注明作者和本文链接
推荐文章: