helpers.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. if (! function_exists('setTenant')) {
  3. function setTenant()
  4. {
  5. $user = auth()->user();
  6. if ($user) {
  7. Log::info('Setting database connection', [
  8. 'database' => $user->tenant_database,
  9. 'username' => $user->tenant_username,
  10. 'password' => $user->tenant_password
  11. ]);
  12. $connection = [
  13. 'driver' => 'mysql',
  14. 'host' => '127.0.0.1',
  15. 'port' => '3306',
  16. 'database' => $user->tenant_database,
  17. 'username' => $user->tenant_username,
  18. 'password' => $user->tenant_password,
  19. ];
  20. config(['database.connections.tenant' => $connection]);
  21. config(['database.default' => 'tenant']);
  22. DB::purge('tenant');
  23. DB::reconnect('tenant');
  24. session(['currentClient' => $user->tenant_database]);
  25. session(['db_connection' => $connection]);
  26. Log::info('Current database after setup: ' . DB::connection()->getDatabaseName());
  27. Log::info('Current default connection: ' . DB::getDefaultConnection());
  28. }
  29. }
  30. }