Heim  >  Artikel  >  Backend-Entwicklung  >  Wie wähle ich zufällige Zeilen in Laravel mit Eloquent und Fluent aus?

Wie wähle ich zufällige Zeilen in Laravel mit Eloquent und Fluent aus?

Barbara Streisand
Barbara StreisandOriginal
2024-11-12 00:42:03522Durchsuche

How to Select Random Rows in Laravel Using Eloquent and Fluent?

Zufällige Zeilen in Laravel mit Eloquent und Fluent auswählen

Bei der Arbeit mit großen Datensätzen ist es oft notwendig, zufällige Zeilen aus der Datenbank abzurufen ohne eine vorbereitende Zählung durchführen zu müssen. Laravel bietet mehrere Optionen, um dies mithilfe von Eloquent- und Fluent-Schnittstellen zu erreichen.

Eloquent

Laravel 5.2 und höher bietet die inRandomOrder()-Methode:

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

Diese Methode gibt eine Sammlung aller zufälligen Zeilen aus dem angegebenen Modell zurück. Um die Anzahl der abgerufenen Zeilen zu begrenzen, verwenden Sie die limit()-Methode:

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

Um eine einzelne zufällige Zeile abzurufen, verwenden Sie die first()-Methode:

User::inRandomOrder()->first();

Für ältere Versionen von Laravel (4.2.7 - 5.1) können Sie die Methode orderByRaw() verwenden:

User::orderByRaw("RAND()")->get();

Für Laravel-Versionen 4.0 - 4.2.6, verwenden Sie:

User::orderBy(DB::raw('RAND()'))->get();

Fluent

In Versionen von Laravel vor 5.2 wurde die Methode order_by() mit DB::raw( verwendet ) Hilfsfunktion:

User::order_by(DB::raw('RAND()'))->get();

Zusätzlich Überlegungen

Es ist wichtig zu beachten, dass die orderBy()-Methode derzeit keine anderen Argumente als ASC oder DESC zulässt. Daher ist es notwendig, die Methode orderByRaw() oder die Methode inRandomOrder() zum Auswählen zufälliger Zeilen zu verwenden.

Überlegungen zur Leistung

Beim Abrufen einer großen Anzahl von Zeilen ist dies der Fall Es ist wichtig, die Auswirkungen auf die Leistung zu berücksichtigen. Die Verwendung der inRandomOrder()-Methode kann effizienter sein als die Verwendung der orderByRaw()-Methode, da keine zusätzliche Unterabfrage zum Generieren einer zufälligen Reihenfolge erforderlich ist.

Das obige ist der detaillierte Inhalt vonWie wähle ich zufällige Zeilen in Laravel mit Eloquent und Fluent aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn