CakePHP テーブルクラスとエンティティクラスについて(その2)

今回は前回作成したテーブルクラスおよびエンティティクラスに、コントローラークラスからアクセスをおこない、データベースに保存されているレコード内容をビューに表示する方法の説明をおこないたいと思います。

本記事には前回の「CakePHP テーブルクラスとエンティティクラスについて(その1)」の続きです。

データベースに保存されているレコード内容を全件出力する場合の例を以下に示します。

■コントローラークラスの作成

以下階層にStudentsControllerクラスの作成をおこないます。
C:\xampp\htdocs\caketest\src\Controller\StudentsController.php

<?php
namespace App\Controller;

use App\Controller\AppController;

class StudentsController extends AppController
{
    public function index()
	{

        $this->viewBuilder()->autoLayout(false);

        //studentsテーブルから全件取得します。
        $data = $this->Students->find('all');

        //DBの検索結果をビューに渡します。
        $this->set('data', $data);
        
    }

}

■ビューの作成

上記のコントローラーから、ビュー側にデータベースの検索結果($data)を渡しているので、ビュー側でforeachでループさせて全件表示します。

    <h2>テーブルクラスとエンティティクラス</h2>
    <div class="table-responsive">
    <table class="table table-striped table-sm">
        <thead>
        <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Mail</th>
        </tr>
        </thead>
        <tbody>

        <?php foreach($data->toArray() as $obj): ?>
        <tr>
            <td><?=h($obj->id) ?></td>
            <td><?=h($obj->name) ?></td>
            <td><?=h($obj->mail) ?></td>
        </tr>
        <?php endforeach; ?>
        
        </tbody>
    </table>
    </div>


http://localhost/caketest/students にアクセスをおこなうとデータベースの内容がビューに反映されていることが確認できます。

データベースの内容:


ビューへの出力結果:


次回はCakePHPのデータベースのCRUD処理についての説明をおこないたいと思います。

木曜日担当:nishida



アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム