/** * Finds tenant by user and tenant model * Create a tenant if it does not exists. * * @return mixed */ public static function findByTenantUser($tenant, $user) { $query = self::find()->andWhere(['tenant_id' => $tenant->id])->andWhere(['user_id' => $user->id]); if (!$query->exists()) { $model = new TenantUser(); $model->user_id = $user->id; $model->tenant_id = $tenant->id; $model->save(); $model->refresh(); return $model; } return $query->one(); }