- Ich habe 3 Spalten
id
,msg
undcreated_at
in meiner Modell-Tabelle.created_at
ist ein Zeitstempel undid
ist Primärschlüssel. - Ich habe auch 5 Daten,
world => time4
,hello => time2
,haha => time1
sindhihio => time5
unddunno => time3
und diese Daten in aufsteigender Reihenfolge angeordnet sind (wie hier angeordnet) auf der Grundlage ihrerid
.
In Laravel 4 möchte ich diese Daten abrufen, ordnen sie in aufsteigender Reihenfolge und nehmen Sie die letzte n (in diesem Fall 3) Anzahl der Datensätze. Also, ich möchte dunno
, world
und hihio
Zeilen wie diese in einem div angezeigt bekommen:Laravel: Wie nimmst du letzte n (beliebige Anzahl) Reihen nach aufsteigender Reihenfolge?
dunno,time3
world,time4
hihio,time5
Was ich habe versucht,
Model::orderBy('created_at','asc')->take(3);
unerwünschtes Ergebnis:
haha,time1
hello,time2
dunno,time3
Auch versucht
Model::orderBy('created_at','desc')->take(3);
unerwünschtes Ergebnis:
hihio,time5
world,time4
dunno,time3
Ich habe versucht, auch die umgekehrte ohne Glück
Model::take(3)->orderBy('created_at','asc');
Dieses Problem scheint ziemlich einfach, aber ich kann einfach nicht scheinen, meine Logik zu bekommen Recht. Ich bin immer noch ziemlich neu in Laravel 4, also würde ich Bonuspunkte zu besseren Lösungen geben, als wenn man orderBy()
und take()
benutzt. Vielen Dank!
Verwenden Sie 'orderBy ('created_at', 'desc') -> take (3)', und kehren Sie dann das Array um. –