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(...);
Tags:
laravel