Laravelとforeach構文【Laravel超入門講座】

Laravel 入門講座

Laravelを使う際に絶対に必要なPHPやプログラミングの知識を解説していきます。

今回は foreach構文について。

foreachは、束になったデータをひとつずつ取り出してくれる超便利な構文。

繰り返し(ループ)処理のひとつですが、for や while などと比べ、圧倒的に出番が多いです。

まずは、foreach構文の役割から、分かりやすく解説していきますね。

foreach構文の役割

たとえば、ブログなどには、投稿記事がひとつずつ表示されていますよね。

こういう構成にするときに、foreach構文を使います。

データベースの中には、投稿記事が束になって入っています。

この中から、ひとつずつ取り出してくれるのがforeachです。

「タイトルだけ1個ずつわたして」など、小分けにして渡してくれます。

foreach構文の作り方

実際にLaravelで使うときは、コントローラーとビュー、両方で使います。

ケースバイケースですが、ビュー(表示部分)で使う割合のほうが多い気がします。

たとえば、こんなふうな記事投稿一覧ページを作るとします。

まずは投稿データを保存する仕組みを作ります。

Postモデルとpostsテーブルを作成後、次のようなフォームを使って、記事を投稿できるようにしていきます。

このフォームを使って投稿したデータは、postsテーブルに保存されます。

postsテーブルには、次の項目を用意しておきます。

id 番号(自動でつく)
title 件名
body 本文
image 画像
created_at 作成日(自動でつく)
updated_at 更新日(自動でつく)

Laravelでこのテーブルのデータを表示するには、ビューファイル(blade.php) に次のように書きます。

タイトル・本文・画像を1個ずつ取り出して表示させるためのコードです。

最初に @foreach($posts as $post)  とあり、$postsデータをひとつずつに分けて、$postとしてセットしています。

そのあと $post->title$post->body$post->image  となっていますが、これによって、$postテーブルの各項目を表示させています。

ひとことメモ
ビューファイルで使う場合には、上記のように @foreach ~ @endforeachで囲む形になり、phpでの使い方と少し変わります。

コードを実行すると、こんな投稿一覧を表示できます。

foreachで束になったデータをバラバラにしよう

foreachについて、スッキリしてきましたか?

「うーん、いまいち」と感じたら、「束になったデータをバラバラにする役割がある」とだけ、覚えておいてくださいね。

Laravelでコードを組む中で、foreachを使う機会は頻発します。

今回はコントローラーの処理は割愛しましたが、foreachはコントローラーの中でも使います。

使い方に慣れていきましょう♪

コメント

タイトルとURLをコピーしました