laravel 開発日記 第10回 ~ 基本CRUDアプリを作ってみる(後編) ~
今回も前回にひきつづき、基本CRUDアプリを作ろうと思います。
(7)ビューファイルの作成
ビューファイルの作成の前に、
下記、参考ページをもとに、ヘルパー関数を修正しています。
■初めてのLARAVEL 5 : (22) HELPER 関数の追加
https://laravel10.wordpress.com/2015/03/16/%E5%88%9D%E3%82%81%E3%81%A6%E3%81%AElaravel-5-22-helper/
では、ビューファイルについて。
使うビューファイルは、以下の3つです。
・index.blade.php
・show.blade.php
・createAndEdit.blade.php
(参考)
■api マニュアル(HTMLビルダー、Formビルダー)
http://laravel.com/api/5.0/Illuminate/Html.html
では、それぞれ確認していきます。
【作業ファイル:/resources/views/corporationDivisions/index.blade.php】 @extends('layout') @section('bodyTag') <body id="corporationDivisions"> @stop @section('content') <ol class="breadcrumb"> <li class="active">取引先グループ名一覧</li> </ol> <h1>取引先グループ名一覧</h1> <p>{!! link_to('corporationDivisions/create', '新規登録', ['class' => 'btn btn-primary']) !!}</p> <table class="table table-striped"> <thead> <tr> <th>#</th> <th>取引先グループ名</th> <th>編集</th> <th>削除</th> </tr> </thead> <tbody> @foreach($corporationDivisions as $corporationDivision) <tr> <td>{!! Html::link("/corporationDivisions/$corporationDivision->id", $corporationDivision->id) !!}</td> <td>{{ $corporationDivision->name }}</td> <td>{!! link_to(action('CorporationDivisionsController@edit', [$corporationDivision->id]), '編集', ['class' => 'btn btn-xs btn-primary']) !!}</td> <td>{!! delete_form(['corporationDivisions', $corporationDivision->id]) !!}</td> </tr> @endforeach </tbody> </table> @stop
各レコードごとに、編集、削除ボタンを付与。
また、IDには詳細ページへのリンクをつけています。
【作業ファイル:/resources/views/corporationDivisions/show.blade.php】 @extends('layout') @section('bodyTag') <body id="corporationDivisions"> @stop @section('content') <ol class="breadcrumb"> <li><a href="/corporationDivisions/">取引先グループ名一覧</a></li> <li class="active">{{ $corporationDivision->name }}</li> </ol> <h1> {{ $corporationDivision->name }}</h1> <h2>取引先グループ名</h2> <p>{{ $corporationDivision->name }}</p> @stop
こちらはさらにシンプルな、詳細ページ。
【作業ファイル:/resources/views/corporationDivisions/createAndEdit.blade.php】 @extends('layout') @section('bodyTag') <body id="corporationDivisions"> @stop @section('content') @if(isset($corporationDivision)) <ol class="breadcrumb"> <li><a href="/corporationDivisions/">取引先グループ名一覧</a></li> <li><a href="/corporationDivisions/{{ $corporationDivision->id }}">{{ $corporationDivision->name }}</a></li> <li class="active">編集</li> </ol> @else <ol class="breadcrumb"> <li><a href="/corporationDivisions/">取引先グループ名一覧</a></li> <li class="active">新規登録</li> </ol> @endif @if(isset($corporationDivision)) <h1>編集</h1> @else <h1>新規登録</h1> @endif @include('errors.form_errors') @if(isset($corporationDivision)) {!! Form::model($corporationDivision,['method' => 'PATCH', 'url' => ['corporationDivisions', $corporationDivision->id] ]) !!} @else {!! Form::open(['url' => 'corporationDivisions']) !!} @endif <div class="form-group"> {!! Form::label('name', '取引先グループ名:') !!} {!! Form::text('name', null, ['class' => 'form-control']) !!} </div> @if(isset($corporationDivision)) <div class="form-group"> {!! Form::submit('編集', ['class' => 'btn btn-primary form-control']) !!} </div> @else <div class="form-group"> {!! Form::submit('新規登録', ['class' => 'btn btn-primary form-control']) !!} </div> @endif {!! Form::close() !!} @stop
最後に、新規作成&編集ページになります。
コントローラーから$corporationDivisionを受け渡されているかどうかで、編集ページ / 新規登録ページを切り分けています。
@if(isset($corporationDivision)) {{-- ここは編集のとき表示 --}} @else {{-- ここは新規登録のとき表示 --}} @endif
以上、若干ざっくりした説明でしたが、ビューになります。
かなりシンプルなCRUDアプリでしたが、
結局7工程もかかってしまいました。
(1)モデルの作成
(2)マイグレーションファイル修正
(3)ルーティング修正
(4)リクエストの作成
(5)ルートサービスプロバイダ修正
(6)コントローラー作成
(7)ビューファイルの作成
毎回、この作業をするのもしんどいので、
次回、この作業をまとめて行うカスタムコマンドを作ろうと思います。
Discussion
New Comments
No comments yet. Be the first one!