模块表:application
租户表:tenant
中间表:env
其中中间表 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