intyrat
config/database.php içerisinde connections içine yeni bir bağlantı oluşturun. MySQL kullanıyorsanız mesela mysql kısmını kopyalayıp adını mysql2 yapın ya da ne istiyorsanız.
Bir tane middleware oluşturun:
https://laravel.com/docs/9.x/middleware
Middleware içerisinde
if($user = $request->user()) {
config(['database.connections.mysql2' => [
'database' => $user->db_database,
'username' => $user->db_username,
'password' => $user->db_password,
...
]]);
}
şeklinde dinamik olarak bağlantıyı ve ayarlarını değiştirin.
Eloquent kullanırken modelin mysql2 bağlantısını kullanmasını istiyorsanız modele protected $connection = 'mysql2';
ekleyeceksiniz.
Query Builder kullanırken DB::connection('mysql2')->table('companies')->...
gibi kullanacaksınız.