こちらのページの続きです。
Laravel で MariaDB の CRUD (その 1)
MariaDB の テーブル article の全データを JSON で表示するところまでできています。
そこから、テーブル表示が出来るようにします。
- ビューを用意
- コントローラーを修正
- サーバーを起動 この段階での表示の確認
- ビューの修正
- コントローラーの修正
- サーバーを起動してブラウザーで確認 >http://localhost:8000/articles 
mkdir resources/views/layouts
resources/views/layouts/application.blade.php
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>@yield('title')</title>
</head>
<body>
@yield('content')
</body>
</html>
mkdir resources/views/articles
resources/views/articles/index.blade.php
{{-- layoutsフォルダのapplication.blade.phpを継承 --}}
@extends('layouts.application')
{{-- @yield('title')にテンプレートごとにtitleタグの値を代入 --}}
@section('title', '記事一覧')
{{-- application.blade.phpの@yield('content')に以下のレイアウトを代入 --}}
@section('content')
<h1>こんにちは</h1>
@endsection
app/Http/Controllers/ArticlesController.php
public function index()
{
//
$articles = Article::all();
// return $articles; // コメントアウト
return view('articles.index'); // 追加
}
php artisan serve
ブラウザーで、
http://localhost:8000/articles
にアクセス
resources/views/articles/index.blade.php
{{-- layoutsフォルダのapplication.blade.phpを継承 --}}
@extends('layouts.application')
{{-- @yield('title')にテンプレートごとにtitleタグの値を代入 --}}
@section('title', '記事一覧')
{{-- application.blade.phpの@yield('content')に以下のレイアウトを代入 --}}
@section('content')
<table>
@foreach ($articles as $article)
<tr>
<td>{{$article->title}}</td>
<td>{{$article->body}}</td>
</tr>
@endforeach
</table>
@endsection
app/Http/Controllers/ArticlesController.php
// 略
public function index()
{
//
$articles = Article::all();
return view('articles.index', ['articles' => $articles]);
}
// 略
確認したバージョン
$ php artisan --version
Laravel Framework 10.37.3