Laravel の orderBy の利用方法についてのまとめです。
10.x データベース:クエリビルダ Laravel
readouble.comカラムと asc/desc を指定: orderBy
DB::table('users')->orderBy('name', 'desc')->get();
DB::table('users')->orderBy('name')->get(); // asc
DB::table('users')->orderByDesc('name')->get(); // asc
latest/oldest
DB::table('users')->latest()->get(); // order by `created_at` desc
DB::table('users')->oldest()->get(); // order by `created_at` asc
DB::table('users')->oldest('updated_at')->get();
カラムを指定しない場合のデフォルトはcreated_at
カラム
ランダム順:inRandomOrder
DB::table('users')->inRandomOrder()->get();
既存の順序の削除: reorder
$query = DB::table('users')->orderBy('name');
$unorderedUsers = $query->reorder()->get();
複数カラム指定
チェーンメソッドで繋げる
$users = DB::table('users')
->orderBy('name')
->orderBy('old')
->get();
または orderByRaw で指定する
DB::table('users')->orderByRaw("name DESC, old ASC");
->get();
NULL を最後にする
データに null が含まれ、asc で null を最後にしたい場合
DB::table('users')->orderByRaw("old is null asc")
->orderBy('old')
->get();