LoginSignup
0
0

More than 1 year has passed since last update.

【備忘録】foreachの基本的な使い方

Last updated at Posted at 2021-11-21

Laravelを1から勉強しており、foreachの基本的な使い方を忘れないために備忘録です。
間違っていることがありましたらご指摘ください。
画像のような本を管理するアプリに例えて考えていきます。

スクリーンショット 2021-11-21 23.07.28.png

booksテーブルには以下のようなカラムが作成されていることとします。

booksテーブルにあるカラムの一部抜粋
id
book_name
created_at

bookコントローラーには以下のようにindex関数が定義されていることとします。

BookController
class BookController extends Controller
{
  public function index()
  {
      // DBよりBookテーブルの値を全て取得
      $books = Book::all();

      // 取得した値をビュー「book/index」に渡す
      return view('book/index', compact('books'));
  }

ビュー(blade)でテーブルを作成

resources/views/index.blade.php
<table class="table table-striped">
  <thead>
    <tr>
      <th>ブックナンバー</th>
      <th>ブック名</th>
      <th>作成日</th>
    </tr>
  </thead>
  <tbody>
    @foreach ($books as $book)
    <tr>
      <td>{{ $book->id }}</td>
      <td>{{ $book->book_name }}</td>
      <td>{{ $book->created_at }}</td>
    </tr>
    @endforeach
  </tbody>
</table>

このコードのポイントは、ここです。

resources/views/index.blade.php
<tbody>
    @foreach ($books as $book)
    <tr>
      <td>{{ $book->id }}</td>
      <td>{{ $book->book_name }}</td>
      <td>{{ $book->created_at }}</td>
    </tr>
    @endforeach
  </tbody>

予めコントローラーで変数$booksを定義しておいたことにより、
ビューでforeach構文を使うことで、変数$booksに渡したデータベースのデータを
1つずつ($books as $book)表示させることができるのです。

その結果、記事のTOPに添付したような表(テーブル)を作成することができるのです。

▼参考にさせていただいた記事

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0