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
Susan Sarandonoriginal
2024-11-12 15:56:02165parcourir

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();

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

User::inRandomOrder()->limit(5)->get();

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();

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);

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!

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