Mysql
 sql >> Database >  >> RDS >> Mysql

Laravel :Come prendere le ultime n (qualsiasi numero) righe dopo averle ordinate in ordine crescente?

Sei molto vicino.

Sembra che tu voglia prima ordinare l'array in ordine decrescente

  Model::orderBy('created_at','desc')->take(3);

ma poi invertire l'array. Puoi farlo in due modi, il tradizionale PHP (usando array_reverse).

  $_dates = Model::orderBy('created_at','desc')->take(3);
  $dates = array_reverse($_dates);

O in modo laravel, usando il reverse funzione nella Collection di Laravel classe.

  $_dates = Model::orderBy('created_at','desc')->take(3)->reverse();

Dai un'occhiata alla Collection di Laravel documentazione sul loro sito API all'indirizzo http://laravel.com/api/class -Illuminate.Support.Collection.html

Ora $dates conterrà l'output che desideri.

dunno,time3
world,time4
hihio,time5