今回はLaravelのCollectionについて解説します。
Collectionは、配列やオブジェクトの操作を効率的に行うための便利なクラスです。
さまざまなメソッドが提供されているので、データ操作をシンプルに行えます。
![とびうおくん](https://i0.wp.com/tobilog.net/wp-content/uploads/2021/01/C68848CD-D4C5-460B-B744-BEFA75315F89.jpg?resize=300%2C300&ssl=1)
さあ、一緒に学んでいきましょう!
Collectionの基本
LaravelのCollectionクラスは、配列やオブジェクトの操作を効率的に行うためのラッパーです。
Eloquent ORMの結果を返す際にも、自動的にCollectionインスタンスが生成されます。
Collectionを使うことで、データの操作が簡単になります。
$collection = collect([1, 2, 3, 4, 5]);
![LaravelのCollectionを活用しよう〜便利なメソッドと使用例〜](https://i0.wp.com/tobilog.net/wp-content/uploads/2023/04/image-78.png?resize=652%2C104&ssl=1)
![とびうおくん](https://i0.wp.com/tobilog.net/wp-content/uploads/2021/01/C68848CD-D4C5-460B-B744-BEFA75315F89.jpg?resize=300%2C300&ssl=1)
これからは配列操作が楽しくなるね!
Collectionの便利なメソッド
LaravelのCollectionには、多くの便利なメソッドがあります。
それぞれのメソッドは、特定の操作を効率的に実行できるように設計されています。
ここではいくつかの例を紹介します。
map()
Collectionの各要素に対して、与えられたクロージャを実行し、新しいCollectionを生成します。
$multiplied = $collection->map(function ($value) {
return $value * 2;
});
![LaravelのCollectionを活用しよう〜便利なメソッドと使用例〜](https://i0.wp.com/tobilog.net/wp-content/uploads/2023/04/image-79.png?resize=888%2C186&ssl=1)
![とびうおくん](https://i0.wp.com/tobilog.net/wp-content/uploads/2021/01/C68848CD-D4C5-460B-B744-BEFA75315F89.jpg?resize=300%2C300&ssl=1)
これで簡単に要素を2倍にできるよ!
filter()
Collectionの各要素に対して与えられたクロージャを実行し、真と評価される要素のみを含む新しいCollectionを生成します。
$even = $collection->filter(function ($value) {
return $value % 2 == 0;
});
![LaravelのCollectionを活用しよう〜便利なメソッドと使用例〜](https://i0.wp.com/tobilog.net/wp-content/uploads/2023/04/image-80.png?resize=818%2C150&ssl=1)
![とびうおくん](https://i0.wp.com/tobilog.net/wp-content/uploads/2021/01/C68848CD-D4C5-460B-B744-BEFA75315F89.jpg?resize=300%2C300&ssl=1)
これで偶数だけを抽出できるね!
reduce()
Collectionの要素を順番に処理し、単一の結果を返します。
$sum = $collection->reduce(function ($carry, $value) { return $carry + $value; });
![LaravelのCollectionを活用しよう〜便利なメソッドと使用例〜](https://i0.wp.com/tobilog.net/wp-content/uploads/2023/04/image-81.png?resize=990%2C278&ssl=1)
![とびうおくん](https://i0.wp.com/tobilog.net/wp-content/uploads/2021/01/C68848CD-D4C5-460B-B744-BEFA75315F89.jpg?resize=300%2C300&ssl=1)
これで簡単に合計が求められるよ!
sortBy()
Collectionを指定されたキーに基づいてソートします。
$sorted = $collection->sortBy('price');
![とびうおくん](https://i0.wp.com/tobilog.net/wp-content/uploads/2021/01/C68848CD-D4C5-460B-B744-BEFA75315F89.jpg?resize=300%2C300&ssl=1)
これで価格順にソートできるね!
![LaravelのCollectionを活用しよう〜便利なメソッドと使用例〜](https://i0.wp.com/tobilog.net/wp-content/uploads/2023/04/image-82.png?resize=686%2C108&ssl=1)
![とびうおくん](https://i0.wp.com/tobilog.net/wp-content/uploads/2021/01/C68848CD-D4C5-460B-B744-BEFA75315F89.jpg?resize=300%2C300&ssl=1)
これで価格順にソートできるね!
![](https://i0.wp.com/www19.a8.net/0.gif?resize=1%2C1&ssl=1)
![](https://i0.wp.com/www16.a8.net/0.gif?resize=1%2C1&ssl=1)
![](https://i0.wp.com/www12.a8.net/0.gif?resize=1%2C1&ssl=1)
![](https://i0.wp.com/www19.a8.net/0.gif?resize=1%2C1&ssl=1)
まとめ
LaravelのCollectionは、配列やオブジェクトの操作を効率的に行うための便利なクラスです。
便利なメソッドを使いこなすことで、コードがスッキリし、可読性が向上します。
さらに、コードの記述量も減らすことができるので、開発効率が向上します。
![とびうおくん](https://i0.wp.com/tobilog.net/wp-content/uploads/2021/01/C68848CD-D4C5-460B-B744-BEFA75315F89.jpg?resize=300%2C300&ssl=1)
これからは配列操作をもっと楽しめるね!
コメント