イントロダクション
Illuminate\Support\Collection
クラスは、配列データを操作するための、書きやすく使いやすいラッパーです。以下の例をご覧ください。配列から、新しいコレクションインスタンスを作成するために、collect
ヘルパを使用しています。
$collection = collect(['taylor', 'abigail', null])->map(function($name)
{
return strtoupper($name);
})
->reject(function($name)
{
return empty($name);
});
ご覧の通り、Collection
クラスは、裏にある配列をマップ操作してから要素削除するメソッドをチェーンでスムーズにつなげてくれます。つまり、全てのCollection
メソッドは、新しいCollection
インスタンスを返します。より掘り下げますので、続けて読み進めてください!
基本的な使用法
コレクションの生成
上記の通り、collect
ヘルパは指定された配列を元に、新しいIlluminate\Support\Collection
インスタンスを返します。また、Collection
クラスのmake
メソッドを使うこともできます。
$collection = collect([1, 2, 3]);
$collection = Collection::make([1, 2, 3]);
もちろん、Eloquentオブジェクトのコレクションは、いつもCollection
インスタンスを返します。しかし、アプリケーションで便利に使えるなら、どこででも自由にCollection
クラスを使ってください。
コレクションの詳細
コレクションで使用できるメソッド全部をここではリストできません。(たくさんあります。)代わりに、クラスのAPIドキュメントをご覧ください。