Maison > cadre php > Laravel > laravel extrait aléatoirement n éléments de données de la base de données mysql (hautes performances)

laravel extrait aléatoirement n éléments de données de la base de données mysql (hautes performances)

藏色散人
Libérer: 2020-07-03 11:55:23
avant
3921 Les gens l'ont consulté

La colonne tutorielle suivante de Laravel vous présentera comment Laravel extrait aléatoirement n éléments de données de la base de données MySQL. J'espère que cela sera utile à vos amis. besoin!

laravel extrait aléatoirement n éléments de données de la base de données mysql (hautes performances)

Comment Laravel obtient-il aléatoirement n éléments de données de la base de données MySQL avec des performances élevées. Parfois, nous avons souvent besoin d'obtenir des données aléatoires de la base de données, par exemple : en attribuer 10 au hasard ? sur ordre d'un membre du personnel, vérifier au hasard 100 utilisateurs de la base de données ; de cette manière, nous devons obtenir des données de manière aléatoire à partir de la base de données.

1. Utilisez SQL natif pour obtenir 100 éléments de données de la base de données

Comme vous pouvez le voir sur le Mysql site officiel, vous pouvez utiliser ORDER BY RAND() et LIMIT ensemble. Peut être utilisé pour sélectionner une partie aléatoire des résultats sur plusieurs lignes.

SELECT * FROM table WHERE name="" ORDER BY RAND() LIMIT 100;
Copier après la connexion

Ensuite, utiliser du SQL natif dans Laravel est également très simple, comme indiqué ci-dessous :

$info = DB::select('SELECT * FROM table WHERE name="" ORDER BY RAND() LIMIT 100');
Copier après la connexion

2. Utilisez des expressions brutes pour obtenir des données de manière aléatoire à partir des données

.

Nous connaissons tous les expressions primitives de Laravel, nous pouvons utiliser DB::raw('RAND()') pour obtenir des données aléatoires de la base de données. Dans le même temps, vous pouvez également utiliser orderByRaw('RAND()') pour obtenir aléatoirement des données de la base de données, ce qui a le même effet que DB::raw('RAND()')

$info=self::where(&#39;dealing&#39;,&#39;<>&#39;,&#39;&#39;)
        ->orderBy(DB::raw(&#39;RAND()&#39;))
        ->take(5)
        ->get();
Copier après la connexion

3. Utilisez la méthode inRandomOrder de Laravel pour obtenir aléatoirement des données

laravel L'envoyé inRandomOrder triera aléatoirement les résultats des données pour obtenir l'effet que nous obtenons aléatoirement des données de la base de données :

$info = DB::table(&#39;users&#39;)
            ->inRandomOrder()
            ->take(5)
            ->get();
Copier après la connexion

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!

Étiquettes associées:
source:csdn.net
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal