はじめに
Laravelを使っていると必ずと言っていいほど出てくる「コレクション」。
配列よりも便利で扱いやすく、データ操作の味方になってくれます。
この記事では、よく使われるコレクションメソッドを、できるだけ短くシンプルなコードで紹介します!
やりたいこと
-
Laravelのコレクションって何かをざっくり理解する
-
よく使うコレクションメソッドをサクッと試してみる
-
配列との違いにも少し触れる
準備するもの
ライブラリ
Laravelの標準機能のため、特別なライブラリは不要です。
####インポート手順
不要です(Laravelで使うだけでOK)
####このライブラリの説明
コレクションは Illuminate\Support\Collection
クラスで提供されている便利なラッパーです。PHPの配列に似ていますが、メソッドチェーンで直感的に操作できます。
ディレクトリ構成
テスト的に使う場合は、routes/web.php
やTinkerで試すとラクです。
コードスクリプト
コードスクリプトの概要
Laravelのコレクションによく使われる以下のメソッドを紹介します。
-
map
-
filter
-
pluck
-
sort
-
first
-
where
実行結果
それぞれのコードと出力をTinkerなどで簡単に確認できます。
コード解説
-
map:各要素に処理をして新しいコレクションを作ります。
-
filter:条件に合う要素だけを抽出します。
-
pluck:連想配列の指定キーだけを抜き出してくれます。
-
sortBy:指定キーで並び替えができます。
-
first:最初の要素だけ取得。filterと組み合わせると便利。
-
where:ある値と一致するものだけを抽出できます。
注意点
-
コレクションは「元の配列を変更せず、新しいコレクションを返す」ことが多いです。
-
filter
の戻り値はコレクション型ですが、array_values()
で再インデックスしたいときもあります。 -
pluck
は連想配列で使うと便利ですが、単純な配列には効きません。
まとめ
Laravelのコレクションは、ちょっとしたデータ処理にめちゃくちゃ便利です!
今回は代表的なメソッドだけを紹介しましたが、他にも reduce
や groupBy
など、知ってると得なメソッドがたくさんあります。
まずはTinkerで手を動かして、「コレクションって便利!」を体感してみてください!
コメント