Mysql
 sql >> Base de données >  >> RDS >> Mysql

Laravel :se connecter dynamiquement aux bases de données

La solution la plus simple consiste à définir la configuration de votre base de données au moment de l'exécution. Laravel peut s'attendre à ce que ces paramètres soient chargés à partir du config/database.php fichier, mais cela ne signifie pas que vous ne pouvez pas les définir ou les modifier ultérieurement.

La configuration chargée depuis config/database.php est stocké en tant que database dans la configuration Laravel. Autrement dit, les connections tableau dans config/database.php est stocké dans database.connections .

Ainsi, vous pouvez facilement remplacer/modifier ces connexions comme ceci :

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

À partir de là, tous les modèles Eloquent qui utilisent ce mysql connexion utilisera cette nouvelle configuration de connexion à la base de données.

Je recommanderais de le faire dans un fournisseur de services si possible.