sql >> Database >  >> RDS >> Mysql

Laravel wijzigt databaseparameters tijdens runtime

Ik heb het op deze manier opgelost:

Het deel van config::set was verkeerd, om toegang te krijgen tot de databaseconfiguratie, zou ik de punt (.) stijl moeten gebruiken, op deze manier:

Config::set("database.connections.sqlsrv.host", Crypt::decrypt($cliente->Server));
Config::set("database.connections.sqlsrv.database", $cliente->NomeDB);
Config::set("database.connections.sqlsrv.username", Crypt::decrypt($cliente->Username));
Config::set("database.connections.sqlsrv.password", Crypt::decrypt($cliente->Password));

En maak dan opnieuw verbinding met DB:

\Illuminate\Support\Facades\DB::reconnect();

Mijn advies voor iedereen die dit probleem heeft, is gebruik een dubbele db-verbinding, één voor de hoofd-db (server-db) en één voor klant-db. Op deze manier kunt u overschakelen naar beide db, met deze eenvoudige code:

Config::set("database.default", "sqlsrvCustomer");
\Illuminate\Support\Facades\DB::reconnect();

Met het eerste commando kun je de klantendatabase kiezen en met het tweede kun je er verbinding mee maken.



  1. Android verbinden met MS SQL SERVER 2008

  2. OUTPUT-clausule in MySQL

  3. Een inleiding tot zoeken in volledige tekst in MariaDB

  4. DATABASE() – Haal de huidige databasenaam op in MySQL