Maison  >  Article  >  développement back-end  >  Comment trier les résultats du générateur de requêtes Laravel sur plusieurs colonnes ?

Comment trier les résultats du générateur de requêtes Laravel sur plusieurs colonnes ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-09 07:19:02681parcourir

How do you sort Laravel query builder results by multiple columns?

Tri multi-colonnes avec orderBy() dans Laravel Query Builder

Lorsque vous travaillez avec Eloquent dans Laravel, vous pouvez rencontrer des scénarios dans lesquels vous avez besoin pour trier les résultats de la requête en fonction de plusieurs critères. Cet article montre comment trier efficacement le résultat d'un générateur de requêtes sur plusieurs colonnes.

Invocations multiples de la méthode orderBy()

Pour trier sur plusieurs colonnes, vous pouvez utiliser la méthode orderBy () autant de fois que nécessaire. Chaque appel définit un critère de tri supplémentaire. Par exemple :

$users = User::orderBy('name', 'DESC')
    ->orderBy('email', 'ASC')
    ->get();

Requête générée

Le code ci-dessus génère la requête SQL suivante :

SELECT * FROM `users` ORDER BY `name` DESC, `email` ASC

Cette requête trie la table des utilisateurs par ordre décroissant par la colonne nom puis par ordre croissant par l'email column.

Conclusion

En enchaînant plusieurs appels de méthode orderBy(), vous pouvez facilement trier les résultats du générateur de requêtes Laravel en fonction de n'importe quelle combinaison de colonnes. Cela offre une flexibilité dans la gestion et la récupération des données de vos tables de base de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn