情景是这样的,有三张表,Houses表、Estate表、HousesEstateRelation表。
Houses表和Estate表无直接关系,仅通过HousesEstateRelation表进行关联。
这种三表关联的,只需要定义好关系即可。
二话不说,直接贴代码。
Houses模型
public function getRelations()
{
return $this->hasOne(HousesEstateRelation::className(), ['houses_id' => 'id']);
}
Estate模型
public function getEstate()
{
return $this->hasOne(Estate::className(), ['id' => 'estate_id']);
}
Houses视图文件中调用。
[
'attribute' => 'relations.estate.name'
],
很多小伙伴2张表的时候知道怎么关联,3张表就懵了。。。在此贴出方法,希望有帮助吧。