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)

藏色散人
藏色散人avant
2020-07-03 11:54:503926parcourir

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;

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

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

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

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer