【Laravel】Collection型ってなに?
仕事でよく言われる「コレクション型」
全然理解してなかったので整理を兼ねて書いてきます!
そもそもに「型宣言」ってなんぞや?
関数のパラメータや戻り値、 クラスのプロパティ (PHP 7.4.0 以降) に対して型を宣言することができます。 これによって、その値が特定の型であることを保証できます。
参照(https://www.php.net/manual/ja/language.types.declarations.php)
ハフゥ。私的脳の解釈ではこう!
型宣言、意識してなかったけど大事そう..
Collection型
理解に苦しんだのがCollection型
型 | 意味 |
---|---|
int | 整数 |
string | 文字列 |
boolean | 真偽値 |
上記の型の場合は英語表記で何を宣言しているのかわかる。
ただ、Collection型ってなると「??」
Collection型は...
Laravel独自の型でデータベースからデータを取得した際等はこの型になる。コレクションで利用可能なメソッドは全部で100個以上あります。メソッドチェーンで記述が可能です。
参照(http://www.code-magagine.com/?p=10513)
自分なりの解釈...
例えば、Usersテーブル以下のデータが入っていたとする
id | name | age |
---|---|---|
1 | cat | 5 |
2 | dog | 4 |
3 | rabbit | 5 |
4 | mouse | 1 |
5 | horse | 3 |
$user = User::table('users')
->whereIn('age', [5]) //ageが5でないものは削除
->get(); //id=1のcat,id=3のrabbitをコレクション型で取得
なので,$userはコレクション型になっている。
そしてコレクション型にするといいのがメソッドチェーン(「->」みたいなの)を使えること。
先ほどのコードではwhereInメソッドとgetメソッドを使用した。
確かに、条件指定をメソッドチェーン使用してできるのは便利だな。
まとめ
以上が私のCollection型の解釈です!
なんだか、慣れないけど、この記事を書いて沢山調べてなんとなく理解できたかなと思います。
まだまだ、エンジニア歴が短いので間違いがあると思いますが、ぜひご指摘をいただきたいです!
最後までお読みいただきありがとうございました。
次回もLaravelに関して発信していきます!
Discussion