Wprowadzenie – 2 połączenia
Zakładając, że potrzebujesz 2 połączeń:domyślne i dostosowane , możesz podać ich konfigurację w swoim config/database.php
jak zwykle, potrzebujesz:
>>> DB::connection()->getDatabaseName()
=> "default"
>>> DB::connection('custom')->getDatabaseName()
=> "customized"
// change the config...
>>> config(['database.connections.custom.database' => 'new_customized_db'])
=> null
// ...but once the connection is already open, config change doesn't affect it...
>>> DB::connection('custom')->getDatabaseName()
=> "customized"
// ...so we need to get rid of existing connection completely (reconnect() won't work)
>>> DB::purge('custom')
=> null
>>> DB::connection('custom')->getDatabaseName()
=> "new_customized_db"
Więcej połączeń
Powyżej możesz zobaczyć, co należy zrobić. W Twoim przypadku możesz po prostu umieścić całą konfigurację połączenia dla każdego nowego połączenia, którego potrzebujesz i będzie działać zgodnie z oczekiwaniami:
>>> config(['database.connections.on_the_fly' => [
>>> 'database' => 'provided_on_the_fly',
>>> ...
>>> ]])
=> null
>>> DB::connection('on_the_fly')->getDatabaseName()
=> "provided_on_the_fly"
Elokwentny
Jeśli chcesz użyć niestandardowego połączenia dla swoich Elokwentnych modeli możesz użyć SomeModel::on('on_the_fly')->find($id)
(pobrano instancję modelu użyje połączenia do wszystkich kolejnych operacji)