How to use multiple databases in Laravel | Laravel Point

In Laravel, you can use multiple databases by defining multiple connections in the config/database.php file.

Here's an example of how to define two connections:

       

            'db1' => [
    'driver' => 'mysql',
    'host' => env('DB1_HOST', '127.0.0.1'),
    'port' => env('DB1_PORT', '3306'),
    'database' => env('DB1_DATABASE', 'forge'),
    'username' => env('DB1_USERNAME', 'forge'),
    'password' => env('DB1_PASSWORD', ''),
    'unix_socket' => env('DB1_SOCKET', ''),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    'prefix_indexes' => true,
    'strict' => true,
    'engine' => null,
],

'db2' => [
    'driver' => 'mysql',
    'host' => env('DB2_HOST', '127.0.0.1'),
    'port' => env('DB2_PORT', '3306'),
    'database' => env('DB2_DATABASE', 'forge'),
    'username' => env('DB2_USERNAME', 'forge'),
    'password' => env('DB2_PASSWORD', ''),
    'unix_socket' => env('DB2_SOCKET', ''),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    'prefix_indexes' => true,
    'strict' => true,
    'engine' => null,
],


To switch between the databases, use the DB facade and pass the connection name as an argument:

$users = DB::connection('db1')->select(...);
$orders = DB::connection('db2')->select(...);
Previous Post Next Post

Contact Form