備忘録

webの備忘録のために

CakePHP3 モデルその3

前回のモデル話の続き。

「コントローラ」
src/Controller/BoardsController.php

<?php
namespace App\Controller;

class BoardsController extends AppController {

    public function index(){
        $data = $this->Boards->find('all');
        $this->set('data',$data);
    }
}

このコントローラで行なっていることは、Boardモデルのメソッドを呼び出し、
全レコードの情報を配列をして受け取ってビューに渡すということ。
BorardTableクラスのインスタンスからfindというメソッドを呼び出し、
テーブルにあるレコードの情報を全て取得。

「ビュー」
src/Template/Boards/index.ctp

<h1>Databaseサンプル</h1>
<table>
<thead>
    <tr>
        <th>ID</th>
        <th>NAME</th>
        <th>TITLE</th>
        <th>CONTENT</th>
    </tr>
</thead>
<tbody>
<?php foreach ($data as $obj): ?>
    <tr>
        <td><?= $obj->id ?></td>
        <td><?= h($obj->name) ?></td>
        <td><?= h($obj->title) ?></td>
        <td><?= h($obj->content) ?></td>
    </tr>
<?php endforeach; ?>
</tbody>
</table>

こちらを設定すれば、テーブルのレコードが取得できる。

f:id:the_cabs:20180307015529j:plain