Kesalahannya adalah karena Anda kehilangan driver
dalam konfigurasi Anda.
Cara yang lebih baik untuk mengubah koneksi adalah dengan mendaftarkan koneksi baru Anda di file konfigurasi database dan mengubah koneksi saat runtime.
'connections' => [
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
'newConnection' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => 'db2',
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
]
Sekarang Anda dapat mengubah koneksi Anda menggunakan nama yang Anda gunakan untuk mendefinisikan koneksi baru Anda.
Ubah koneksi default
Config::set('database.default', 'newConnection');
DB::reconnect('newConnection');
atau ubah koneksi untuk pembuat kueri
DB::connection('newConnection')->table('articles')->insert($articles);
atau jika Anda menggunakan model Eloquent, Anda dapat mengatur koneksi default yang terkait dengan model menggunakan connection
properti
protected $connection = 'newConnection';
atau ubah saat runtime dengan memanggil setConnection
(new User)->setConnection('newConnection');
Jika Anda ingin mengubah detail koneksi saat ini, Anda dapat mengubahnya sesuai keinginan
Config::set('database.connections.mysql.database', 'db2');
dan setelah perubahan Anda perlu menelepon
DB::reconnect('mysql');
atau
DB::purge('mysql');