sql >> Database teknologi >  >> RDS >> Mysql

Laravel ændrer databaseparametre under kørsel

Jeg løste på denne måde:

Delen af ​​config::set var forkert, for at få adgang til databasekonfigurationen skulle jeg bruge dot (.) stilen på denne måde:

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));

Og genopret forbindelse til DB:

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

Mit råd til alle, der har dette problem, er at bruge en dobbelt db-forbindelse, en til hoved-db (server-db) og en til kunde-db. På denne måde kan du skifte til både db, med denne simple kode:

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

Med den første kommando kan du vælge kunde-DB og med den anden kan du oprette forbindelse til den.



  1. Opbygning af en offline-først-applikation med Node.js og SQLite

  2. MySQL- Kan ikke hoppe til række 0 på MySQL resultatindeks

  3. MySQL fuldtekstsøgning har altid 0 resultater?

  4. Hvordan REGEXP_SUBSTR() virker i MariaDB