💬
レコードを新しい順に並び替えたり古い順に並び替えたり(Laravel Eloquent)
LaravelのEloquentでは、簡単に新しい順・古い順でソートできるので、
今回はその機能を実現するための「latest」と「oldest」の紹介を行います!
レコードを新しい順でソートするlatest
Eloquentのlatestを使えば、簡単にレコードを最新順に並び替えができます。
例えばこんな感じ
User::latest()->get();
いろいろ制約をつけた中でのレコードのソートももちろんできます。
User::where('gender', 1)->where('age', '>', 20)->latest()->get();
ちなみに、新しい順というのは、初期値はcreated_at
のカラムを見るようになっています。
例えば updated_at
の最新を見たい場合はこのようにします。
User::latest('updated_at')->get();
最新の1件だけ取得する場合は firstでOKですね!
User::latest('updated_at')->first();
レコードを古い順でソートするoldest
oldestを使えば簡単にレコードを古い順に並び替えができます。
例えばこんな感じ
User::oldest()->get();
こちらもいろいろ制約をつけた中での最新のレコードを取得することもできます。
User::where('gender', 1)->where('age', '>', 20)->oldest()->get();
こちらもlatestと同様で、初期値はcreated_atを見るようになっていますので、それ以外のカラムを参照したい場合は、引数を渡してあげてください。
終わりに
これを使用しなくても orderBy('created_at', 'desc')
でソートできるのですが、
知っておくと簡潔に書けますし、 latest
っていう名前でパット見分かりやすいですよね!
というわけで、ぜひ使ってみてください!
ではまた!
Discussion