sql >> Base de Datos >  >> RDS >> Mysql

Laravel:¿Cómo tomar las últimas n (cualquier número) filas después de ordenarlas en orden ascendente?

Estás muy cerca.

Parece que desea ordenar primero la matriz en orden descendente

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

pero luego invertir la matriz. Puede hacer esto de dos maneras, ya sea el PHP tradicional (usando array_reverse).

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

O al estilo laravel, usando el reverse función en la Collection de Laravel clase.

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

Echa un vistazo a la Collection de Laravel documentación en su sitio API en http://laravel.com/api/class -Illuminate.Support.Collection.html

Ahora $dates contendrá el resultado que deseas.

dunno,time3
world,time4
hihio,time5