Laravel Collection チートシート

Laravel Laravel

Laravelのコレクション(Illuminate\Support\Collection)は、配列操作をより直感的かつ強力に行うためのクラスです。本記事では、よく使うCollectionメソッドをカテゴリごとにまとめ、簡単な解説とコード例を添えて紹介します。


✅ 基本操作

all()

全要素を配列で取得します。

collect([1, 2, 3])->all(); // [1, 2, 3]

toArray()

配列として返します。

collect(['name' => 'John'])->toArray(); // ['name' => 'John']

toJson()

JSON文字列として返します。

collect(['name' => 'John'])->toJson(); // '{"name":"John"}'

🔄 変換系

map()

各要素に処理を加えて変換します。

collect([1, 2, 3])->map(fn($item) => $item * 2); // [2, 4, 6]

pluck()

特定のキーの値を抽出します。

collect([
  ['id' => 1, 'name' => 'Apple'],
  ['id' => 2, 'name' => 'Banana']
])->pluck('name'); // ['Apple', 'Banana']

🔍 フィルタリング系

filter()

条件を満たす要素だけを抽出します。

collect([1, 2, 3, 4])->filter(fn($value) => $value > 2); // [3, 4]

reject()

条件を満たさない要素を抽出します。

collect([1, 2, 3, 4])->reject(fn($value) => $value > 2); // [1, 2]

📦 集計・検索系

sum()

合計値を返します。

collect([1, 2, 3])->sum(); // 6

count()

要素数を返します。

collect(['a', 'b', 'c'])->count(); // 3

contains()

特定の値が含まれているかを判定します。

collect([1, 2, 3])->contains(2); // true

🧮 ソート・整形系

sort()

昇順にソートします(キーを維持)。

collect([3, 1, 2])->sort()->values(); // [1, 2, 3]

sortBy()

指定キーでソートします。

collect([
  ['price' => 100],
  ['price' => 50]
])->sortBy('price')->values();
// [['price' => 50], ['price' => 100]]

🔁 その他便利系

each()

各要素に対して繰り返し処理を行います。

collect([1, 2, 3])->each(function ($item) {
  echo $item; // 123
});

isEmpty()

空かどうかを判定します。

collect([])->isEmpty(); // true

first()

最初の要素を取得します。

collect([1, 2, 3])->first(); // 1

last()

最後の要素を取得します。

collect([1, 2, 3])->last(); // 3

📝 まとめ

Laravelのコレクションは、データ操作をより柔軟かつ簡潔に行うための強力なツールです。特にループ処理や条件分岐を多用する場面では、コードの可読性や保守性が大きく向上します。今回紹介したメソッドはどれも実務で頻出するものばかりなので、ぜひ活用してみてください。


参考

コメント

タイトルとURLをコピーしました