Laravel: come usare database multipli nel tuo progetto? In questo articolo ti mostro come farlo in modo semplice, con esempi pratici.
Laravel è uno dei framework PHP più usati al mondo, in particolare nei progetti enterprise. Con le versioni più recenti (Laravel 10 e Laravel 11), la gestione di più connessioni è diventata ancora più intuitiva. Per maggiori dettagli puoi consultare anche la documentazione ufficiale di Laravel sul database.

In molti progetti può essere necessario collegarsi a database multipli: per gestire dati legacy, integrare servizi esterni o organizzare meglio i moduli interni di un’applicazione. Per approfondire il concetto di database multipli in PHP puoi leggere anche la guida PDO ufficiale di PHP.
Vediamo quindi insieme come configurare Laravel database multipli, differenziando tra versioni moderne (Laravel 5+) e precedenti.
Quando serve configurare più database in Laravel?
Lavorando come sviluppatore, capita spesso di dover separare i dati di moduli diversi o collegarsi a database già esistenti. Laravel rende questa operazione più semplice rispetto ad altri framework PHP, grazie alla sua gestione centralizzata delle connessioni. Puoi trovare esempi pratici anche su DigitalOcean – Multiple Database Connections in Laravel.
Configurazione multipla con file .env (Laravel 5+ e versioni moderne)
Per Laravel 5, 6, 7 fino all’attuale Laravel 11, il metodo più pratico per configurare database multipli è l’uso del file .env e del file di configurazione config/database.php.
Scopri anche come gestire le migrazioni in Laravel.
DB_CONNECTION_1=mysql
DB_HOST=localhost
DB_DATABASE=database_1
DB_USERNAME=utente
DB_PASSWORD=password
DB_CONNECTION_2=mysql
DB_HOST_2=localhost
DB_DATABASE=database_2
DB_USERNAME_2=utente2
DB_PASSWORD_2=password2
Gestione connessioni con versioni precedenti di Laravel
Se stai usando una versione più vecchia di Laravel (prima della 5), dovrai modificare direttamente il file app/config/database.php. Non è il metodo più sicuro, ma in alcuni progetti legacy è ancora necessario.
Come richiamare più database con QueryBuilder
Una volta configurati i Laravel database multipli, puoi accedervi facilmente con QueryBuilder:
$utenti = DB::connection('mysql2')->select("SELECT * FROM users");
Utilizzare Eloquent ORM con più connessioni
Con Eloquent ORM puoi assegnare direttamente la connessione al modello:
class Utente extends Eloquent {
protected $connection = 'mysql2';
}
Conclusione
Abbiamo visto come gestire Laravel database multipli con approcci diversi in base alla versione.
