La soluzione più semplice è impostare la configurazione del database in fase di esecuzione. Laravel potrebbe aspettarsi che queste impostazioni vengano caricate da config/database.php
file, ma ciò non significa che non puoi impostarli o modificarli in un secondo momento.
La configurazione caricata da config/database.php
è memorizzato come database
nella configurazione di Laravel. Significato, i connections
array all'interno di config/database.php
è memorizzato in database.connections
.
Quindi puoi facilmente sovrascrivere/modificare queste connessioni in questo modo:
Config::set("database.connections.mysql", [
"host" => "...",
"database" => "...",
"username" => "...",
"password" => "..."
]);
Da lì in poi, tutti i modelli Eloquent che utilizzano questo mysql
la connessione utilizzerà questa nuova configurazione di connessione al database.
Consiglierei di farlo in un fornitore di servizi, se possibile.