Je reçois la collection complète d'un modèle avec les éléments suivants:
$posts = Post::all();
Cependant, je veux que ce soit dans l'ordre chronologique inverse.
Quel est le meilleur moyen d'obtenir cette collection dans l'ordre souhaité?
$posts = Post::orderBy('created_at', 'desc')->get();
Vous pouvez utiliser la méthode orderBy. Remplacez le nom de la colonne par celui que vous voulez.
Vous pouvez maintenant utiliser sortBy
ou sortByDesc
:
$posts = Post::all()->sortBy('created_at');
Comme beaucoup peuvent migrer vers de nouvelles versions de Laravel, vous pouvez utiliser :: latest () à partir de 5.3 - https://laravel.com/docs/5.5/queries#ordering-grouping-liming-and-offset .