Описание
Есть ли способ переключить среду БД в модуле Stancl/Tenancy? Поскольку я ранее работал с некоторыми другими модулями аренды, я использую для переключения среды, когда хочу получить доступ к некоторым ресурсам из центрального домена внутри арендаторов и наоборот.
Почему это нужно добавитьЯ пытался получить планы и функции для арендаторов и хочу получить дополнительные данные из центрального домена (БД). например, я назвал таблицы подписок и планов как для арендаторов, так и для центральных пользователей, когда я пытаюсь получить подписку пользователя арендатора из центрального домена, он возвращает данные из базы данных арендатора.
namespace App\Helpers;
use App\Models\System\Admin\Subscription;
public static function checkTenantPlan()
{
// Find the tenant
// get the tenantId and find that
$tenant_user_id = tenant()->user_id;
// Find the subscription of the tenant User
$subscription = Subscription::where('user_id', $tenant_user_id)
->orderBy('created_at', 'desc')
->first();
return $subscription->plan(); //returning the data from the current tenant db
}
Да, дополнительную информацию можно найти в документации по stancl/tenancy.
В новом релизе исправлено. https://github.com/stancl/tenancy/releases/tag/v3.3.0
$tenant->run(function ($tenant) {
return User::all();
});
tenancy()->central(function ($tenant) {
return User::all();
});
Это работает для central domain
, но не для арендатора. Я получаю сообщение об ошибке "Database connection [tenant] not configured."
Есть идеи?
Вы пытаетесь получить внутри арендатора или центрального уровня?
Базы данных арендаторов и ваша центральная база данных домена находятся на одном и том же сервере MySQL?