- Ho 3 colonne ,
msg
ecreated_at
nella tabella Modello.created_at
è un timestamp eid
è la chiave primaria. - Ho anche 5 dati,
world => time4
,hello => time2
,haha => time1
,hihio => time5
edunno => time3
e questi dati sono disposti in ordine crescente (come organizzato qui) sulla base della loroid
.
In laravel 4, voglio recuperare questi dati, ordinarli in ordine crescente e prendere l'ultimo n (in questo caso, 3) numero di record. Quindi, voglio ottenere dunno
, world
e hihio
righe visualizzate come questo in un div:Laravel: Come prendere le ultime n righe (qualsiasi numero) dopo l'ordine in ordine ascendente?
dunno,time3
world,time4
hihio,time5
Quello che ho cercato
Model::orderBy('created_at','asc')->take(3);
risultato indesiderato:
haha,time1
hello,time2
dunno,time3
Anche provato
Model::orderBy('created_at','desc')->take(3);
risultato indesiderato:
hihio,time5
world,time4
dunno,time3
Ho anche provato il contrario, senza fortuna
Model::take(3)->orderBy('created_at','asc');
Questo problema sembra abbastanza semplice, ma io proprio non riesco a ottenere la mia logica destra. Sono ancora abbastanza nuovo in Laravel 4, quindi darei punti bonus a soluzioni migliori rispetto all'utilizzo di orderBy()
e take()
se esiste. Grazie mille!
Utilizzare 'orderBy ('created_at', 'desc') -> take (3)', quindi invertire la matrice. –