Qu’est-ce que le Query Builder
Le query builder de Laravel construit et exécute les requêtes SQL via une interface fluent. Point de départ :DB::table(), suivi d’un chaînage de méthodes.
Le query builder fonctionne avec toutes les bases prises en charge par Laravel (MySQL, MariaDB, PostgreSQL, SQLite, SQL Server). Le code reste identique quand vous changez de base.
Query Builder vs Eloquent
Lecture des données
Tous les enregistrements
get() retourne une Illuminate\Support\Collection d’objets stdClass.
Un enregistrement
Liste d’une colonne
Traitement par lots
Streaming (LazyCollection)
Agrégations
Existence
Clause SELECT
Clause WHERE
Conditions de base
Groupement de conditions
whereIn / whereBetween / whereNull
whereLike (pattern matching)
whereAny / whereAll
whereNullSafeEquals
whereNullSafeEquals traite NULL = NULL comme vrai (contrairement à = classique). Équivalent à <=> sous MySQL, IS NOT DISTINCT FROM sous PostgreSQL.
where('column', null) devient WHERE column IS NULL. whereNullSafeEquals reste cohérent quelle que soit la valeur bindée.JOIN
JOIN par sous-requête
ORDER BY / GROUP BY / LIMIT
Sous-requêtes
Expressions Raw
INSERT / UPDATE / DELETE
INSERT
UPSERT
UPDATE
DELETE
Requête conditionnelle (when)
Applique une condition dynamiquement sans casser le chaînage.
Débogage
Récapitulatif
Méthodes courantes
Méthodes courantes
Query Builder vs Eloquent
Query Builder vs Eloquent
Le Query Builder est plus bas niveau et retourne
stdClass, non des instances de modèle.
Sans besoin de relations ou d’événements (observers), il est plus simple et plus rapide.