前回までの様子はこちら
最新ソースはこちら
https://github.com/takishita2nd/hotel-mng
今回はスケジュール一覧を表示させたいと思います。
まずはルーティング。
Route::get('/management/schedule', 'RegisterManagementController@schedule');
コントローラー。
/** * スケジュール表示 */ public function schedule() { return view('register.schedule', ['Lists' => $this->registerManagement->getSchedule()]); }
リポジトリ。
予約名はテーブルが違うので、リレーションを使って参照します。
リレーション便利。
/** * スケジュール一覧を取得する */ public function getSchedule() { $lists = array(); $index = 0; $models = ReserveDayList::get(); foreach($models as $model) { $lists[$index] = array('day' => $model->day, 'name' => $model->reserveManagements()->first()->name); $index++; } return $lists; }
ビュー。
@extends('layouts.app') @section('content') <div class="container"> <div class="row"> <div class="col-md-8 col-md-offset-2"> <div class="panel panel-default"> <div class="panel-heading">スケジュール</div> <div class="panel-body"> <table> <tr> <th>日時</th> <th>名前</th> </tr> @foreach ($Lists as $list) <tr> <td>{{ $list['day'] }}</td> <td>{{ $list['name'] }}</td> </tr> @endforeach </table> </div> </div> </div> </div> </div> @endsection
今回はいろいろ手こずった割には、コード自体はあっさりしたという。
ビュー側がオブジェクトじゃなくて、連想配列だったのが落とし穴だったわ。
でも、システムとしてはまだまだ足りないところがあるので、そこを対応していきます。