Yii2中间表关联采坑记录

模块表:application

Yii2中间表关联采坑记录_第1张图片

租户表:tenant

Yii2中间表关联采坑记录_第2张图片

中间表:env

Yii2中间表关联采坑记录_第3张图片

其中中间表 env.app_id= application.id,env.tenant_id = tenant.id

这时我们需要寻找 【模块:租户 = 1:N】的关系

在Application模型中定义一个方法:getTenants

public function getTenants()
{
    return $this->hasMany(Tenant::className(), ['id' => 'tenant_id'])->viaTable(Env::tableName(), ['app_id' => 'id']);
}

我们可以看到上述键值对中有:id,tenant_id,app_id,id四个值。

第一个id:为tenant表中的id

tenant_id:中间表中对应tenant表的id

app_id:中间表中对应application表的id

第二个id:当前模型【Application】表的id

 

你可能感兴趣的:(YII2)