0% ont trouvé ce document utile (0 vote)
54 vues3 pages

Query Builder

Le générateur de requêtes de Laravel permet de créer et exécuter des requêtes de base de données de manière fluide tout en protégeant contre les injections SQL. Il offre des méthodes pour insérer, mettre à jour, supprimer et sélectionner des données, ainsi que pour effectuer des opérations numériques. Ces méthodes sont accessibles via la façade DB et peuvent également être utilisées avec des modèles dans Laravel.

Transféré par

wija
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
54 vues3 pages

Query Builder

Le générateur de requêtes de Laravel permet de créer et exécuter des requêtes de base de données de manière fluide tout en protégeant contre les injections SQL. Il offre des méthodes pour insérer, mettre à jour, supprimer et sélectionner des données, ainsi que pour effectuer des opérations numériques. Ces méthodes sont accessibles via la façade DB et peuvent également être utilisées avec des modèles dans Laravel.

Transféré par

wija
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Programmer avec Laravel Développer en back-end

Générateur de requêtes (Query Builder)


Introduction
Le générateur de requêtes de base de données de Laravel fournit une interface
pratique et fluide pour créer et exécuter des requêtes de base de données.
Il peut être utilisé pour effectuer la plupart des opérations de base de données dans votre
application et fonctionne parfaitement avec tous les systèmes de base de données pris en
charge par Laravel.
Le générateur de requêtes Laravel utilise la liaison de paramètres PDO pour protéger votre
application contre les attaques par injection SQL.
Il n'est pas nécessaire de nettoyer ou d'assainir les chaînes transmises au générateur de
requêtes en tant que liaisons de requête.
Insert, Update et Delete
Créer un contrôleur StagiaireController et ajouter la méthode suivante :
La méthode insert() permet d’insérer une ligne dans une table.
public function insert(Request $request){

DB::table('stagiaires')->insert([
'nom'=>$request->nom,
'prenom'=>$request->prenom,
'age'=>$request->age
]);
return response("l'ajout est effectué avec succès ... ");
}

La méthode insertGetId() fait le même chose que insert() mais en plus vous permet de
récupérer l’id créé pour cette enregistrement. Bien évidement insertGetId() ne marche
qu’avec des tables ayant un id en auto incrémentation.
public function insert(Request $request){

$id=DB::table('stagiaires')->insertGetId([
'nom'=>$request->nom,
'prenom'=>$request->prenom,
'age'=>$request->age
]);
return response("l'ajout est effectué avec succès ... ".$id);
}

La méthode update() permet de mettre à jour des données.


public function update(Request $request, string $id){
DB::table('stagiaires')->where('id',$id)->update([
'nom'=>$request->nom,
'prenom'=>$request->prenom,
'age'=>$request->age
]);
return response("la mise à jour est effectué avec succès ... ");
}

Formateur : M.Qassi @ISTA ALADARISSA Page 1 | 3


Programmer avec Laravel Développer en back-end

La méthode delete() permet de supprimer un enregistrement


public function delete(Request $request){

DB::table('stagiaires')->where('id',$request->id)->delete();
return response("la supression est effectué avec succès ... ");
}

Sélectionner des résultats


Query Builder est accessible via la façade DB et permet de sélectionner une table puis utiliser
des méthodes pour recèperez les données.
La méthode get() permet de récupérer un groupe de résultat.
public function index(){
$sta=DB::table('stagiaires')->get();
return $sta;
}

La méthode where() permet de poser une condition à la sélection de résultat :


$sta=DB::table('stagiaires')-> where('age','>',20)->get();

La méthode first() a un fonctionnement similaire à get() mais ne récupère que le premier


résultat correspondant à la requête.
$sta=DB::table('stagiaires')->first();

La méthode find() permet de sélectionner un résultat d’après un id que l’on passe en


paramètre :
$sta=DB::table('stagiaires')->find(id);

La méthode orderBy() Permet d’organiser les résultats en les rangeant dans un order
ascendant (ASC) ou descendant (DESC) d’après une colonne de la table :
$sta=DB::table('stagiaires')->orderBy('nom', 'DESC')->get();

Les méthodes latest() et oldest() rangent les données par date en prenant comme référence par
défaut la colonne ‘created_at’.
Si vous voulez appliquer ces méthodes à une autre colonne vous n’avez qu’à passer en
paramètre le nom de celle-ci.
Ici je n’ai pas mis de timestamps mais nous pouvons par exemple appliquer cette méthode
avec la colonne ‘id’.
$sta=DB::table('stagiaires')->latest('id')->first();

La méthode inRandomOrder() vous permet tout simplement de sortir vos résultats dans un
ordre aléatoire.
La méthode groupBy permet de grouper les résultats par valeur(s) d’une ou plusieurs
colonnes.
$sta=DB::table('stagiaires')->groupBy('age')->get();

Formateur : M.Qassi @ISTA ALADARISSA Page 2 | 3


Programmer avec Laravel Développer en back-end

Opérations numérique
Vous pouvez également appliquer des opérations numériques existantes dans les commandes
SQL :
$max_age = DB::table('stagiaires')->max('age');
$min_age = DB::table('stagiaires')->min('age');
$average_age = DB::table('stagiaires')->avg('age');
$sum_age = DB::table('stagiaires')->sum('age');

NB.
Nous venons de voir un ensemble de méthode appliquées à la façade DB mais sachez que ces
méthodes sont également disponible via le model

Formateur : M.Qassi @ISTA ALADARISSA Page 3 | 3

Vous aimerez peut-être aussi