खोज…
प्रारंभिक चरण
किसी भी प्रकार के कई डेटाबेस कनेक्शन, डेटाबेस कॉन्फ़िगरेशन फ़ाइल (संभावित app/config/database.php
) के अंदर परिभाषित किए जा सकते हैं। उदाहरण के लिए, 2 MySQL डेटाबेस से डेटा खींचने के लिए उन दोनों को अलग-अलग परिभाषित करें:
<?php
return array(
'default' => 'mysql',
'connections' => array(
# Our primary database connection
'mysql' => array(
'driver' => 'mysql',
'host' => 'host1',
'database' => 'database1',
'username' => 'user1',
'password' => 'pass1'
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
# Our secondary database connection
'mysql2' => array(
'driver' => 'mysql',
'host' => 'host2',
'database' => 'database2',
'username' => 'user2',
'password' => 'pass2'
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
),
);
डिफ़ॉल्ट कनेक्शन अभी भी mysql
सेट है। इसका मतलब है कि जब तक अन्यथा निर्दिष्ट नहीं किया जाता है, तब तक एप्लिकेशन mysql
कनेक्शन का उपयोग करता है।
स्कीमा बिल्डर का उपयोग करना
स्कीमा बिल्डर के भीतर, किसी भी कनेक्शन के साथ स्कीमा मुखौटा का उपयोग करें। किस कनेक्शन का उपयोग करने के लिए connection()
विधि चलाएँ:
Schema::connection('mysql2')->create('some_table', function($table)
{
$table->increments('id'):
});
DB क्वेरी बिल्डर का उपयोग करना
स्कीमा बिल्डर के समान, क्वेरी बिल्डर पर एक कनेक्शन को परिभाषित करें :
$users = DB::connection('mysql2')->select(...);
वाक्पटु का उपयोग करना
एलोकेंट मॉडल में कौन से कनेक्शन का उपयोग करना है, इसे परिभाषित करने के कई तरीके हैं। एक तरीका मॉडल में $ कनेक्शन चर सेट करना है:
<?php
class SomeModel extends Eloquent {
protected $connection = 'mysql2';
}
कनेक्शन को रन-टाइम पर setConnection
विधि के माध्यम से भी परिभाषित किया जा सकता है।
<?php
class SomeController extends BaseController {
public function someMethod()
{
$someModel = new SomeModel;
$someModel->setConnection('mysql2');
$something = $someModel->find(1);
return $something;
}
}
लारवेल डॉक्यूमेंटेशन से
प्रत्येक व्यक्ति कनेक्शन को DB
मुखौटा पर कनेक्शन विधि के माध्यम से पहुँचा जा सकता है, तब भी जब कई कनेक्शन परिभाषित होते हैं। connection
विधि में दिया गया name
config/database.php
में सूचीबद्ध कनेक्शनों में से एक से मेल खाना चाहिए।
$users = DB::connection('foo')->select(...);
कच्चे भी पहुँचा जा सकता है, अंतर्निहित PDO उदाहरण कनेक्शन उदाहरण पर getPdo विधि का उपयोग कर:
$pdo = DB::connection()->getPdo();
https://laravel.com/docs/5.4/database#using-multiple-database-connections