Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Laravel:Dynamisch mit Datenbanken verbinden

Die einfachste Lösung besteht darin, Ihre Datenbankkonfiguration zur Laufzeit festzulegen. Laravel erwartet möglicherweise, dass diese Einstellungen aus der config/database.php geladen werden Datei, aber das bedeutet nicht, dass Sie sie später nicht einstellen oder ändern können.

Die aus config/database.php geladene Konfiguration wird als database gespeichert in der Laravel-Konfiguration. Also die connections Array in config/database.php wird unter database.connections gespeichert .

So können Sie diese Verbindungen einfach wie folgt überschreiben/ändern:

Config::set("database.connections.mysql", [
    "host" => "...",
    "database" => "...",
    "username" => "...",
    "password" => "..."
]);

Von da an alle Eloquent-Modelle, die dieses mysql verwenden Verbindung wird diese neue Datenbankverbindungskonfiguration verwenden.

Ich würde empfehlen, dies nach Möglichkeit bei einem Dienstanbieter zu tun.