Aan de slag
Laravel ondersteunt officieel de volgende databases:- MySQL / MariaDB
- PostgreSQL
- SQLite
- SQL Server
Deze pagina behandelt de basis van databaseverbindingen. Zie Query Builder voor praktische queries, Migrations voor schemabeheer en Seeding voor het inladen van initiële data.
Configuratie
De databaseconfiguratie is gecentraliseerd inconfig/database.php.
Met default kies je de standaardverbindingsnaam en met connections definieer je de details per verbinding.
.env minimaal het volgende in:
DB_CONNECTION=sqlite en het pad in DB_DATABASE in.
Lees- en schrijfverbindingen scheiden
Wil je lezen (SELECT) en schrijven (INSERT / UPDATE / DELETE) naar aparte hosts scheiden, configureer dan read en write binnen dezelfde verbinding.
sticky op true zet, worden leesbewerkingen na een schrijfbewerking binnen hetzelfde request vastgezet op de write-verbinding.
Pooled PostgreSQL-verbindingen
Gebruik je een managed PostgreSQL-service die connection pooling in transactiemodus biedt, zoals PgBouncer, stel dan de optiespooled en direct in.
pooled inschakelt, verdeelt Laravel automatisch:
Wil je in applicatiecode expliciet de directe verbinding gebruiken, voeg dan de suffix
::direct toe aan de verbindingsnaam.
Meerdere databaseverbindingen
Je kunt inconfig/database.php meerdere verbindingen definiëren en wisselen met DB::connection().
SQL-queries uitvoeren
DeDB-facade heeft speciale methoden per type query.
Query-listening
Wil je uitgevoerde SQL volgen, registreer danDB::listen() in de boot() van een serviceprovider.
Transacties
Wil je meerdere updates als één geheel behandelen, gebruik danDB::transaction().
Bij een exception voert Laravel automatisch een rollback uit.
attempts opgeven.
beginTransaction / rollBack / commit.
Volgende stappen
Query Builder
Leer hoe je met de verbindingsconfiguratie veilig queries opbouwt.
Migrations
Leer hoe je het schema van je gekoppelde database onder versiebeheer houdt.
Seeding
Leer hoe je ontwikkel- en testdata op een reproduceerbare manier inlaadt.