Heim >Backend-Entwicklung >PHP-Tutorial >Wie wähle ich zufällige Zeilen in Laravel aus: Eloquente, fließende und Sammlungsmethoden?

Wie wähle ich zufällige Zeilen in Laravel aus: Eloquente, fließende und Sammlungsmethoden?

Susan Sarandon
Susan SarandonOriginal
2024-11-12 15:56:02162Durchsuche

How to Select Random Rows in Laravel: Eloquent, Fluent, and Collections Methods?

Zufällige Zeilen in Laravel auswählen: Eloquente und fließende Ansätze

In Laravel gibt es mehrere Methoden, um eine zufällige Zeile aus einer Datenbanktabelle abzurufen . Mit Eloquent oder Fluent können Entwickler für verschiedene Szenarien auf diese Funktionalität zugreifen.

Eloquent-Schnittstelle

Ab Laravel 5.2 bietet die Eloquent-Schnittstelle eine dedizierte inRandomOrder()-Methode. Diese Methode mischt die Abfrageergebnisse und wählt effektiv eine zufällige Zeile aus:

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

Um eine bestimmte Anzahl zufälliger Datensätze anzugeben, verwenden Sie die limit()-Methode:

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

Fluent-Schnittstelle

Für ältere Versionen von Laravel (vor 5.2) können Sie die Fluent-Schnittstelle verwenden, um einen ähnlichen Effekt zu erzielen:

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

Sammlungsmethode

Alternativ können Sie für Laravel 5.1 und höher die random()-Methode für Sammlungen verwenden, die durch Eloquent-Abfragen generiert wurden. Dieser Ansatz gibt einen einzelnen Zufallsdatensatz oder eine bestimmte Anzahl davon zurück:

User::all()->random();
User::all()->random(10);

Denken Sie daran, die offizielle Laravel-Dokumentation für spezifische Versionskompatibilität und Syntaxvariationen zu konsultieren.

Das obige ist der detaillierte Inhalt vonWie wähle ich zufällige Zeilen in Laravel aus: Eloquente, fließende und Sammlungsmethoden?. 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