Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Laravel:Como obter as últimas n (qualquer número) linhas depois de ordenadas em ordem crescente?


Você está muito perto.

Parece que você deseja primeiro ordenar a matriz por ordem decrescente
  Model::orderBy('created_at','desc')->take(3);

mas depois inverta a matriz. Você pode fazer isso de duas maneiras, o PHP tradicional (usando array_reverse).
  $_dates = Model::orderBy('created_at','desc')->take(3);
  $dates = array_reverse($_dates);

Ou a maneira laravel, usando o reverse função na Collection do Laravel classe.
  $_dates = Model::orderBy('created_at','desc')->take(3)->reverse();

Confira a Collection do Laravel documentação no site da API em http://laravel.com/api/class -Illuminate.Support.Collection.html

Agora $dates conterá a saída que você deseja.
dunno,time3
world,time4
hihio,time5