परिचय - 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"
सुवक्ता
यदि आप अपने वाक्पटु मॉडल . के लिए कस्टम कनेक्शन का उपयोग करना चाहते हैं आप उपयोग कर सकते हैं SomeModel::on('on_the_fly')->find($id)
(लाया गया मॉडल उदाहरण बाद के सभी कार्यों के लिए कनेक्शन का उपयोग करेगा)