meta data for this page
Laravel
Query Builder / Eloquent
(Constructeur de requête)
Documentation
Permet de faire des requêtes pour retrouver des enregistrements dans la base de données
Retrouver tous les enregistrements
$posts = Post::get();Code dans la vue pour afficher les titres des articles
foreach ($posts as $post) { echo $post->title; }
Retrouver un enregistrement
$post = Post::where('title', 'Titre de mon article')->first();Code dans la vue pour afficher le résultat
echo $post->title;
Si on veut seulement une valeur, comme la date de création par exemple
$post = Post::where('title', 'Titre de mon article')->value('created_at');
Récupérer une liste de valeur
$titles = Post::pluck('title');Code dans la vue pour afficher le résultat
foreach ($titles as $title) { echo $title; }
Fonction d'agrégation
$posts = Post::count(); $posts = Post::max('created_at'); $posts = Post::min('created_at');Il y a aussi
avg
pour calculer la moyenne et sum
pour la calculer la somme.
Select
Sélectionne seulement le titre et la date de création et renomme la date de création par “date”
$posts = Post::select('title', 'created_at as date')->get();
Where
Sélectionne des enregistrements suivant des conditions
$posts = Post::where('title', '=', 'article 1')->get(); $posts = Post::where('title', 'article 1')->get(); // le signe = peut être enlevé $posts = Post::where('title', 'LIKE', 'article%')->get(); $posts = Post::where('created_at', '<', '2019-03-25')->get(); $posts = Post::where('created_at', '>', '2019-03-25')->get(); //On peut aussi passer un tableau de condition dans le Where $posts = Post::where([ ['title', '=', 'mon article'], ['created_at', '>', '2018-03-25'] ])->get();
Autres exemples avec Where ⇒ https://laravel.com/docs/5.2/queries#where-clauses
Order
Classe les titres de articles par ordre alphabétique
$posts = Post::orderBy('title', 'asc')->get();
Classe les titres de articles par date de création
$posts = Post::latest()->get(); // plus récent en premier $posts = Post::oldest()->get(); // plus vieux en premier
latest()
et oldest()
utilisent le champ created_at
pour classer les éléments.
C'est un raccourci pour orderBy('created_at', 'asc')