Mysql
 sql >> база данни >  >> RDS >> Mysql

Свържете се с много бази данни едновременно в Laravel 5.2

Въведение - 2 връзки

Ако приемем, че имате нужда от 2 връзки:по подразбиране иперсонализирани , бихте предоставили тяхната конфигурация във вашия config/database.php както обикновено, тогава имате нужда от:

>>> 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"

Повече връзки

По-горе можете да видите какво трябва да се направи. Във вашия случай можете просто да поставите цялата конфигурация на връзката за всяка нова връзка, от която се нуждаете, и ще работи според очакванията:

>>> config(['database.connections.on_the_fly' => [
>>>    'database' => 'provided_on_the_fly',
>>>    ...
>>> ]])
=> null

>>> DB::connection('on_the_fly')->getDatabaseName()
=> "provided_on_the_fly"

Красноречиво

Ако искате да използвате персонализирана връзка за вашите модели Eloquent можете да използвате SomeModel::on('on_the_fly')->find($id) (извлечен екземпляр на модел ще използва връзката за всички следващи операции)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Грешка при създаването на MySQL Trigger

  2. INSERT с SELECT

  3. Трябва ли да се затворят SQL връзките, отворени с PDO в PHP

  4. MySQL сървър на MAMP-Windows няма да стартира

  5. MYSQL отдалечената връзка изисква SSL