La gestion des données dans Laravel peut devenir complexe sans les bonnes techniques de requêtes.
Sans une utilisation efficace des méthodes Eloquent, vous risquez des performances lentes et des requêtes inefficaces.
Découvrez comment exploiter pleinement les requêtes Eloquent pour optimiser la gestion de vos données dans Laravel.
Initiez-vous à Laravel et réalisez votre première application en toute confiance.
Lors de la récupération des données de votre base de données, Eloquent offre plusieurs méthodes puissantes et flexibles. Voici quelques exemples de requêtes courantes et comment elles fonctionnent :
Requêtes Eloquent : récupérer tous les articles
Pour récupérer et afficher tous les articles présents dans la table articles, vous pouvez utiliser la méthode all() d’Eloquent :
public function index(){
dd(Article::all());
}
Explication : Cette commande récupère tous les enregistrements sans exception, sous forme de collection.
Résultat affiché :
Un dump complet de tous les enregistrements sous forme de collection et dans ce cas il y’a 100 enregistrements .
Vous pouvez aussi utiliser get() pour récupérer les articles de la table articles :
public function index(){
dd(Article::get());
}
Explication : Bien que similaire à all(), get() offre plus de flexibilité lorsque combinée avec des clauses supplémentaires.
Méthodes Eloquent : détails des articles
Pour itérer sur tous les articles et afficher certains de leurs attributs :
public function index(){
$articles = Article::get();
foreach($articles as $article){
dump($article->title, $article->slug, $article->content, $article->created_at->diffForHumans());
}
}
Explication : Cette méthode permet d’afficher le titre, le slug, le contenu et la date de création relative (par exemple, « il y a 2 heures ») de chaque article.
Résultat affiché :
Les titres, slugs, contenus et dates de création relatifs de chaque article.
Trier avec Eloquent : articles par ID
Si vous souhaitez trier les articles par ordre décroissant d’ID avant de les afficher :
public function index(){
$articles = Article::orderBy('id', 'desc')->get();
foreach($articles as $article){
dump($article->title, $article->slug, $article->content, $article->created_at->diffForHumans());
}
}
Explication : Utilise orderBy(‘id’, ‘desc’) pour trier les articles du plus récent au plus ancien.
Résultat affiché :
Lors de l’exécution en trouve le résultat suivant :
Trouver un article par ID avec Eloquent
Pour obtenir un article spécifique par son identifiant unique et le renvoyer :
public function index(){
$article = Article::findOrFail(9);
dd($article);
}
Explication : Récupère l’article ayant l’ID 9. Si l’article n’est pas trouvé, findOrFail() lance une exception ModelNotFoundException.
Résultat affiché :
Dernier article ajouté avec Eloquent ORM
Pour afficher l’article le plus récemment ajouté dans la base de données :
public function index(){
$article = Article::orderByDesc('id')->first();
dd($article);
}
Explication : Récupère le dernier article ajouté en se basant sur l’ID.
Résultat affiché :
Le dernier article sous forme d’objet unique.
Requête Eloquent : article par titre
Pour trouver et afficher un article par son titre spécifique :
public function index(){
$article = Article::where('title', 'Voluptates facilis culpa nulla.')->first();
dd($article);
}
Explication : Utilise where() pour trouver un article par son titre précis.
Résultat affiché :
E voila le résultat affiché lorsque en exécute le code précèdent :
Limiter les résultats avec Eloquent
Pour récupérer un nombre limité d’articles triés par ID décroissant :
public function index(){
$articles = Article::orderByDesc('id')->limit(15)->get();
foreach($articles as $article){
dump($article->title);
}
}
Explication : Cette commande affiche les 15 articles les plus récents.
Résultat affiché :
Ignorer et récupérer des articles Eloquent
Pour sauter les 10 premiers articles et afficher les 15 suivants :
Explication : skip() permet de passer un certain nombre d’enregistrements avant de commencer la récupération.
Résultat affiché :
Compter les articles avec Eloquent ORM
Pour obtenir le nombre total d’articles dans la base de données :
public function index(){
$count = Article::count();
dd($count);
}
Explication : Cette commande affiche un entier représentant le nombre total d’articles dans la table articles.
Résultat affiché :
Un entier représentant le nombre total d’articles.
Formez-vous gratuitement avec Alphorm !
Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.
FAQ
Comment récupérer tous les articles de ma base de données avec Eloquent ?
Comment afficher les détails des articles récupérés avec Eloquent ?
Comment trier les articles par ordre décroissant d'ID avec Eloquent ?
Comment récupérer un article spécifique par son ID avec Eloquent ?
Comment limiter le nombre d'articles affichés avec Eloquent ?
Conclusion
L’article a détaillé comment utiliser efficacement les requêtes Eloquent dans Laravel pour optimiser la gestion de vos données. Quelles autres techniques Eloquent aimeriez-vous explorer pour améliorer encore plus vos compétences en développement Laravel?