Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Laravel - Paginieren Sie zufällige Datensätze

Wenn Sie in die Dokumentation eintauchen von mysql und suchen Sie nach der RAND()-Funktionalität, Sie werden sehen, dass Sie einen "Seed" verwenden können.

Durch die Verwendung eines Seeds erhalten Sie immer dieselben Ergebnisse, die randomisiert sind.

Beispiel:

$products = Product

    ::all()

    ->orderBy(DB::raw('RAND(1234)'))

    ->paginate(4);

Sie können Ihren eigenen Seed generieren und in einer Sitzung oder etwas speichern, um sich daran zu erinnern.

Aktualisieren

Der Laravel-Abfragegenerator hat jetzt eine Funktion, die genau dasselbe macht:

$products = Product

    ::all()

    ->inRandomOrder('1234')

    ->paginate(4);