【Laravel8】複数のキーでソートする
こんにちは。今回はLaravelのコレクションを使用して、複数のキーでソートする方法を解説します。検証にはtinkerを使用しています。
まずはコレクションを作成
>>> $collection = collect([
... ['name' => 'john', 'age' => 30],
... ['name' => 'alex', 'age' => 40],
... ['name' => 'mac','age' => 40]
... ]);
ageの降順、nameの昇順でソートします。sortByメソッドを使用し、項目名とソート順を指定します。昇順はasc, 降順はdescを指定します。
>>> $sorted = $collection->sortBy([
['age', 'desc'],
['name', 'asc'],
... ]);
# 結果
=> Illuminate\Support\Collection {#4368
all: [
[
"name" => "alex",
"age" => 40,
],
[
"name" => "mac",
"age" => 40,
],
[
"name" => "john",
"age" => 30,
],
],
}
このようにSQL Likeに書けるようになったのはLaravel8からです。この機能は本当に便利になったと感じています。
ディスカッション
コメント一覧
まだ、コメントがありません