Maison > développement back-end > tutoriel php > Comment sélectionner des lignes aléatoires dans Laravel : méthodes éloquentes, fluides et collections ?

Comment sélectionner des lignes aléatoires dans Laravel : méthodes éloquentes, fluides et collections ?

Susan Sarandon
Libérer: 2024-11-12 15:56:02
original
203 Les gens l'ont consulté

How to Select Random Rows in Laravel: Eloquent, Fluent, and Collections Methods?

Sélection de lignes aléatoires dans Laravel : approches éloquentes et fluides

Dans Laravel, il existe plusieurs méthodes pour récupérer une ligne aléatoire d'une table de base de données . En utilisant Eloquent ou Fluent, les développeurs peuvent accéder à cette fonctionnalité pour divers scénarios.

Interface Eloquent

À partir de Laravel 5.2, l'interface Eloquent fournit une méthode inRandomOrder() dédiée. Cette méthode mélange les résultats de la requête, sélectionnant efficacement une ligne aléatoire :

User::inRandomOrder()->get();
Copier après la connexion

Pour spécifier un nombre spécifique d'enregistrements aléatoires, utilisez la méthode limit() :

User::inRandomOrder()->limit(5)->get();
Copier après la connexion

Interface Fluent

Pour les anciennes versions de Laravel (avant 5.2), vous pouvez utiliser l'interface Fluent pour obtenir un résultat similaire effet :

User::orderByRaw("RAND()")->get();
Copier après la connexion

Méthode Collections

Alternativement, pour Laravel 5.1 et supérieur, vous pouvez utiliser la méthode random() sur les collections générées par les requêtes Eloquent. Cette approche renvoie un seul enregistrement aléatoire ou un nombre spécifié d'entre eux :

User::all()->random();
User::all()->random(10);
Copier après la connexion

N'oubliez pas de consulter la documentation officielle de Laravel pour connaître la compatibilité des versions spécifiques et les variations de syntaxe.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal