Laravel 5 如何在laravel中正确配置多租户?
我已经创建了多租户应用程序,现在仍然可以正常工作 以下是我的示例代码: 中间件: database.php: 我的疑问是:当多个用户同时访问时,上述代码是否有可能崩溃DB连接?(每个用户有不同的数据库) 例如:用户A拥有学校数据库,用户B拥有学院数据库 用户A尝试记录[加载页面]用户B登录的情况 用户B没有问题,但用户A--从学院数据库或学生数据库获取学生详细信息Laravel 5 如何在laravel中正确配置多租户?,laravel-5,multi-tenant,Laravel 5,Multi Tenant,我已经创建了多租户应用程序,现在仍然可以正常工作 以下是我的示例代码: 中间件: database.php: 我的疑问是:当多个用户同时访问时,上述代码是否有可能崩溃DB连接?(每个用户有不同的数据库) 例如:用户A拥有学校数据库,用户B拥有学院数据库 用户A尝试记录[加载页面]用户B登录的情况 用户B没有问题,但用户A--从学院数据库或学生数据库获取学生详细信息 public function handle($request, Closure $next) { $use
public function handle($request, Closure $next)
{
$user = Auth::user();
if (! is_null($user)) {
Config::set('database.connections.tenant.host', $user->hostname);
Config::set('database.connections.tenant.database', $user->database);
Config::set('database.connections.tenant.username', $user->username);
Config::set('database.connections.tenant.password', $user->password);
}
return $next($request);
}
'connections' => [
'main' => [
'driver' => env('DB_DRIVER', 'mysql'),
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', '123'),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
'tenant' => [
'driver' => env('DB_DRIVER', 'mysql'),
'host' => '',
'port' => env('DB_PORT', '3306'),
'database' => '',
'username' => '',
'password' => '',
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
],