Giới thiệu - 2 kết nối
Giả sử bạn cần 2 kết nối: mặc định và tùy chỉnh , bạn sẽ cung cấp cấu hình của họ trong config/database.php
của mình như thường lệ, sau đó bạn cần:
>>> 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"
Kết nối khác
Ở trên bạn có thể thấy những gì cần phải làm. Trong trường hợp của bạn, bạn có thể chỉ cần đặt toàn bộ cấu hình kết nối cho mỗi kết nối mới bạn cần và nó sẽ hoạt động như mong đợi:
>>> config(['database.connections.on_the_fly' => [
>>> 'database' => 'provided_on_the_fly',
>>> ...
>>> ]])
=> null
>>> DB::connection('on_the_fly')->getDatabaseName()
=> "provided_on_the_fly"
Hùng biện
Nếu bạn muốn sử dụng kết nối tùy chỉnh cho Mô hình hùng hồn của mình bạn có thể sử dụng SomeModel::on('on_the_fly')->find($id)
(mô hình được tìm nạp phiên bản sẽ sử dụng kết nối cho tất cả các hoạt động tiếp theo)