LaravelのCollectionクラスのsortメソッドをマスターする

Laravel Collectionのsortメソッドは、コレクション内の要素を並べ替えるために使用されます。

以下にLaravel Collectionのsortメソッドの使い方と例を示します。

基本のソート

$collection = collect([5, 3, 1, 4, 2]);
$sorted = $collection->sort();
$sorted->values()->all(); // [1, 2, 3, 4, 5]

上記の例では、コレクション内の要素が数値であり、昇順でソートされます。結果は、[1, 2, 3, 4, 5]となります。

クロージャを使用したソート

$collection = collect([
    ['name' => 'John', 'age' => 25],
    ['name' => 'Jane', 'age' => 30],
    ['name' => 'Bob', 'age' => 20]
]);

$sorted = $collection->sortBy(function ($a, $b) {
    return $a['age'] - $b['age'];
});

/*
    [
        ['name' => 'Bob', 'age' => 20],
        ['name' => 'John', 'age' => 25],
        ['name' => 'Jane', 'age' => 30]
    ]
*/

上記の例では、コレクション内の各要素は連想配列であり、age キーに基づいて昇順でソートされます。

結果は、Bob(20歳)、John(25歳)、Jane(30歳)の順で並べられます。

キーを指定したソート

$collection = collect([
    ['name' => 'John', 'age' => 25],
    ['name' => 'Jane', 'age' => 30],
    ['name' => 'Bob', 'age' => 20]
]);

$sorted = $collection->sortBy('age')->values();

/*
    [
        ['name' => 'Bob', 'age' => 20],
        ['name' => 'John', 'age' => 25],
        ['name' => 'Jane', 'age' => 30]
    ]
*/

上記の例では、sortByメソッドを使用してageキーに基づいてコレクションをソートし、valuesメソッドでインデックスをリセットします。

これにより、Bob(20歳)、John(25歳)、Jane(30歳)の順で並べられたコレクションが得られます。

これらはLaravel Collectionのsortメソッドの一般的な使い方の例です。ソートの仕組みや詳細なパラメータについては、Laravelドキュメントを参照してください。

投稿者


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA