模塊表: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