Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Laravel:conecte-se a bancos de dados dinamicamente


A solução mais simples é definir a configuração do banco de dados em tempo de execução. O Laravel pode esperar que essas configurações sejam carregadas do config/database.php arquivo, mas isso não significa que você não pode definir ou alterá-los mais tarde.

A configuração carregada de config/database.php é armazenado como database na configuração do Laravel. Ou seja, as connections array dentro de config/database.php é armazenado em database.connections .

Assim, você pode facilmente substituir/alterar essas conexões assim:
Config::set("database.connections.mysql", [
    "host" => "...",
    "database" => "...",
    "username" => "...",
    "password" => "..."
]);

A partir daí, qualquer modelo Eloquent que use este mysql connection estará usando esta nova configuração de conexão de banco de dados.

Eu recomendo fazer isso em um provedor de serviços, se possível.