it-swarm.com.de

Laravel: Wie bekomme ich die letzten N Einträge von der DB?

Ich habe eine Tabelle mit Hunden in meiner Datenbank und ich möchteN latest added dogsabrufen. 

Nur so habe ich gefunden:

Dogs:all()->where(time, <=, another_time);

Gibt es einen anderen Weg, wie es geht? Zum Beispiel etwas wie dieses Dogs:latest(5);

Vielen Dank für jede Hilfe :)

23
Jakub Kohout

Sie können so etwas versuchen:

$dogs = Dogs::orderBy('id', 'desc')->take(5)->get();

Verwenden Sie orderBy mit der Reihenfolge Descending und nehmen Sie die ersten n-Nummern der Datensätze.

59
The Alpha
Dogs::orderBy('created_at','desc')->take(5)->get();
6
Luca C.

Sie können es auch so versuchen:

$recentPost = Article::orderBy('id', 'desc')->limit(5)->get();

In Laravel 5.6 funktioniert das gut

5
Bablu Ahmed

Meine Lösung für die Sauberkeit ist:

Dogs::latest()->take(5)->get();

Es ist dasselbe wie bei anderen Antworten, nur mit integrierten Methoden zur Handhabung gängiger Praktiken.

1
GoogleMac

Ich habe eine Lösung gefunden, mit der ich mit der array_slice()-Methode dasselbe Ergebnis erzielen kann. In meinem Code habe ich array_slice( PickupResults::where('playerID', $this->getPlayerID())->get()->toArray(), -5 ); mit -5 gemacht und wollte die letzten 5 Ergebnisse der Abfrage.

0
Kray