特南蒂 "Undefined variable: Database"
Tenanti "Undefined variable: Database"
我正在为多租户开发一个应用程序,为此,我使用了 Orchestral/Tenanti 但我遇到了以下问题。
我已经执行了多数据库连接设置的一些必需步骤。
- 多个数据库的配置租户驱动程序:在我的 tenanti.php
- 设置默认数据库连接:在我的Tenant.php中间件
上
- 我的租户连接的定义:在我的 config/database.php
问题出现在数据库连接解析器步骤上。在我的中间件中,我定义了正确设置的要使用的连接(我没有 post 代码,因为它与 Tenanti 使用无关)。
我的解析器代码是:
public function boot()
{
Tenanti::connection('tenants', function (User $entity, array $template) {
$template['database'] = "db_{$entity->getKey()}";
return $template;
});
}
此代码位于我的 AppServiceProvider 上。但是我要使用的数据库没有从我的解析器中正确设置,抛出以下错误:
ErrorException in MySqlConnector.php line 110:
Undefined variable: database
很明显错误意味着数据库没有设置。
有人可以帮忙吗?提前致谢。
经过多次测试,我没有找到使用 Tenanti 的解决方案,而是使用 Config class 设置要使用的数据库,并在 database.php 上维护我的租户配置。
Config::set('database.connections.tenants.database', 'legal_'.$request->route()->parameter('account'));
Config::set('database.default', 'tenants');
我正在为多租户开发一个应用程序,为此,我使用了 Orchestral/Tenanti 但我遇到了以下问题。
我已经执行了多数据库连接设置的一些必需步骤。
- 多个数据库的配置租户驱动程序:在我的 tenanti.php
- 设置默认数据库连接:在我的Tenant.php中间件 上
- 我的租户连接的定义:在我的 config/database.php
问题出现在数据库连接解析器步骤上。在我的中间件中,我定义了正确设置的要使用的连接(我没有 post 代码,因为它与 Tenanti 使用无关)。
我的解析器代码是:
public function boot()
{
Tenanti::connection('tenants', function (User $entity, array $template) {
$template['database'] = "db_{$entity->getKey()}";
return $template;
});
}
此代码位于我的 AppServiceProvider 上。但是我要使用的数据库没有从我的解析器中正确设置,抛出以下错误:
ErrorException in MySqlConnector.php line 110:
Undefined variable: database
很明显错误意味着数据库没有设置。 有人可以帮忙吗?提前致谢。
经过多次测试,我没有找到使用 Tenanti 的解决方案,而是使用 Config class 设置要使用的数据库,并在 database.php 上维护我的租户配置。
Config::set('database.connections.tenants.database', 'legal_'.$request->route()->parameter('account'));
Config::set('database.default', 'tenants');