id
, msg
und created_at
in meiner Model-Tabelle. created_at
ist ein Zeitstempel und id
ist der Primärschlüssel. world => time4
, hello => time2
, haha => time1
, hihio => time5
und dunno => time3
und diese Daten sind in aufsteigender Reihenfolge (wie hier angeordnet) basierend auf ihrem id
angeordnet. In Laravel 4 möchte ich diese Daten abrufen, sie in aufsteigender Reihenfolge anordnen und die letzte Anzahl n (in diesem Fall 3) der Datensätze nehmen. Also möchte ich dunno
, world
und hihio
rows so in einem div anzeigen lassen:
Was ich versucht habe
%Vor%unerwünschtes Ergebnis:
%Vor%Auch versucht
%Vor%unerwünschtes Ergebnis:
%Vor%Ich habe auch das Gegenteil versucht, ohne Glück
%Vor% Dieses Problem scheint ziemlich einfach zu sein, aber ich kann meine Logik nicht richtig verstehen. Ich bin immer noch ziemlich neu in Laravel 4, also würde ich bessere Lösungen mit Bonuspunkten belohnen als mit orderBy()
und take()
, wenn es welche gibt. Vielen Dank!
Sie sind sehr nahe.
Es klingt so, als ob Sie das Array zuerst in absteigender Reihenfolge sortieren möchten
%Vor%, aber kehren Sie dann das Array um. Sie können dies auf zwei Arten tun, entweder das traditionelle PHP (mit array_reverse).
%Vor% Oder die Laravel-Methode, die reverse
-Funktion in Laravels Collection
-Klasse verwendet.
Sehen Sie sich Laravels Collection
-Dokumentation auf der API-Site unter Ссылка
Jetzt $ Daten enthalten die gewünschte Ausgabe.
%Vor% Du bist ziemlich nah dran mit deinem zweiten Versuch. Nach dem Abrufen der Zeilen aus der Datenbank müssen Sie nur das Array umkehren. Angenommen, Sie haben eine Instanz von Illuminate\Support\Collection
, müssen Sie nur Folgendes tun: