Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

26 lignes
698B

  1. <?php
  2. namespace App\Models\HtpmsCustomer;
  3. use Illuminate\Support\Facades\DB;
  4. class HtpmsCustomerConnectionSwitch
  5. {
  6. public static function switch(int $customerId): void
  7. {
  8. $connectionsRoot = "database.connections";
  9. $connectionHtmsCustomer = "htpms_customer";
  10. $databaseNameKey = "{$connectionsRoot}.{$connectionHtmsCustomer}.database";
  11. $currentDatabaseName = config($databaseNameKey);
  12. $afterDatabaseName = "htpms_{$customerId}";
  13. if ($currentDatabaseName !== $afterDatabaseName) {
  14. $conf = [$databaseNameKey => $afterDatabaseName];
  15. config($conf);
  16. DB::reconnect($connectionHtmsCustomer);
  17. }
  18. }
  19. }