UPDATE FÜR Laravel 5.3
Ich war glücklich, dies zu entdecken, ist jetzt ein nativer Abfrage-Funktion! : D
Die inRandomOrder
Methode kann verwendet werden, um die Abfrageergebnisse nach dem Zufallsprinzip zu sortieren. Zum Beispiel können Sie diese Methode verwenden, um einen zufälligen Benutzer zu holen:
$randomUser = DB::table('users')
->inRandomOrder()
->first();
Leider keine dieser Antworten in vollem Umfang nutzen Laravel 5 Sammlungen. Wenn Sie wie ich von Google hierher gekommen sind und nach einer vollständig nativen Lösung suchen, schauen Sie bitte unten nach!
Die Antwort von The Alpha hat die Datenbank Abhängigkeitsfehler und Benjamins, wie er darauf hingewiesen, kann ein Problem darstellen, wenn Zeilen dazwischen entfernt werden. Sehr unwahrscheinlich, aber immer noch möglich.
Hier ist eine eine einzeilige Lösung zufällige Zeilen in Laravel 5+
// The setup
$numberOfRows = 4;
$models = Model::all(); // or use a ::where()->get();
// And the actual randomisation line
$randRows = $models->shuffle()->slice(0,numberOfRows);
Et voila wählen - glücklich Codierung! Stimme es ab, wenn du es siehst, damit es auf der Seite aufgeht :)
Welche Code haben Sie versucht? Es funktioniert, wahrscheinlich haben Sie etwas verpasst –
Dies ist übrigens sehr schlecht Leistung. – rmobis
Können Sie eine Leistung teilen? Ich habe C. 30 000 berühmte Sprüche in der Datenbank ... – Peter