[ はじめて の Laravel ] リンク一覧ページ を 作る No.3
この記事は 2021年 11月 24日 に書かれた記事です。
前回は DBを作成して テストデータを 入れたので
今回は 前々回追加した インデックスページに 前回追加した テストデータを 一覧表示させていきたいと思います
流れとしては コントローラ ( app / Http / Controllers / LinkController.php
) で モデル ( \App\Models\Link
) にある データを すべて取得して ビュー ( resources / views / links / index.blade.php
) に渡して 表示します
コントローラの編集
という訳で コントローラ内の public function index()
の 中身を書き換えます
public function index()
{
$links = \App\Models\Link::all();
return view('links.index', ['links' => $links]);
}
ビューの編集
次に ビュー を
@extends('links.default')
@section('title', 'links.index')
@section('style')
.links dd {
margin-left: 2rem;
word-break: break-all;
}
@endsection
@section('content')
<section class="my-3 links">
<header>
<h2 class="text-center">@yield('title')</h2>
</header>
<dl>
@foreach ($links as $link)
<dt><a href="{{ $link->url }}">{{ $link->title }}</a></dt>
<dd>{{ $link->description }}</dd>
@endforeach
</dl>
</section>
@endsection
の 様に 書き換えます
増えたのは 5〜10行目 と 17〜22行目です
5〜10行目 は スタイルを整えるための記述です
重要なのは 17〜22行目 に なります
Bladeテンプレート では @foreach
や @endforeach
で 配列の反復処理をする事が出来て {{ 〜 }}
で 文字列の表示が出来ます
ページの確認
http://localhost:50000/links/ で 確認します
リンク一覧が 表示されていれば インデックスページの 完成です