Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Połącz się z wieloma bazami danych jednocześnie w Laravel 5.2

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)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak pozbyć się błędu 1329:Brak danych — pobrano, wybrano lub przetworzono zero wierszy

  2. Wysyłanie obrazu do bazy danych MySQL za pomocą Androida

  3. kreator zapytań:klauzula IN z kolumnami złożonymi

  4. PHP jak sprawdzić pocztę już w bazie danych MySQL?

  5. MySQL - warunek ORAZ