📘

Laravelのコレクション型ってなんだ?

2022/06/13に公開

全然わかんなかったので調べました。
まずはざっくりとした概念を理解したい。

キーワード

  • Eloquent
  • イテレータ、イテーラブル
  • デザインパターン

これらのキーワードの意味がわからないとわからないので
調べてみよう。

自分的超要約

Laravelのコレクションは、大きく2つに分かれている

で、コレクション自体はデータをイテレータとしても機能する形に変えた
便利なデータ群みたいなイメージ。(イテーラブルなデータ)
配列でもある。

イテレータは過去の偉人達が編み出したデザインパターンの一つで色んなパターン
のデータをいい感じに扱う方法。

例えば↓の様な配列をidは降順で、family-nameはアルファベット順でってなると大変
だけど扱うデータが増えても柔軟に対応できる考え方。

$name_list = [
	[
		'family-name' => 'Matumoto',
		'given-name'  => 'Jun',
		'id'          => 5
	],
	[
		'family-name' => 'Kobayashi',
		'given-name'  => 'Kentaro',
		'id'          => 1,
	],
	[
		'family-name' => 'Mudata',
		'given-name'  => 'Shuichi',
		'id'          => 2
	],
	[
		'family-name' => 'Kamijou',
		'given-name'  => 'Touma',
		'id'          => 4
	],
	[
		'family-name' => 'Murakami',
		'given-name'  => 'Ryu',
		'id'          => 3
	],
];

参照
https://liginc.co.jp/web/programming/php/146455

でlaravelではこれを更に便利に使える様に色んなメソッドを用意してくれている
https://readouble.com/laravel/9.x/ja/collections.html#available-methods

あとは使っていけば理解が深まるかな。。

他の参考記事

https://qiita.com/yuya_takeyama/items/51fb058ed20d3df8209e
https://www.php.net/manual/ja/language.types.iterable.php

Discussion