Tri et Ordonnancement avec Laravel Eloquent
1. Tri des Résultats
Le tri des résultats permet de trier les enregistrements selon une colonne spécifique et dans un ordre spécifique.
Exemple de tri par ordre alphabétique ascendant:
$users = User::orderBy('name')->get();
Exemple de tri par ordre décroissant de la date de création:
$posts = Post::orderByDesc('created_at')->get();
2. Ordonnancement Multiple
L'ordonnancement multiple permet de trier les résultats en fonction de plusieurs colonnes.
Exemple d'ordonnancement par colonne 'category' puis par 'name' :
$products = Product::orderBy('category')->orderBy('name')->get();
3. Tri des Résultats avec Relations
Vous pouvez également trier les résultats basés sur des relations avec d'autres tables.
Exemple de tri des articles par date de création de l'utilisateur associé :
$posts = Post::with('user')->orderBy('users.created_at')->get();
4. Ordonnancement avec Tri Conditionnel
Vous pouvez ordonner les résultats en fonction de conditions spécifiques.
Exemple d'ordonnancement des commandes par montant décroissant si le statut est 'completed' :
$orders = Order::when('status', 'completed', function ($query) {
return $query->orderByDesc('amount');
})->get();