【CakePHP3】無関係な複数テーブルのデータを一つのコントローラで扱う

公開日: : CakePHP, PHP

スポンサーリンク

CakePHP3で一つのコントローラないでお互い独立したテーブルを扱うには単純にTableRegistry::getするだけです。
下記サンプルはbakeした際に自動生成されるコードをベースに作成しました。useに「use Cake\ORM\TableRegistry;」を追加すると上記のTableRegistryが使用できるようになります。

自動生成されるコントローラをベースにすると

1.use Cake\ORM\TableRegistry;を追加
2.TableRegistry::getでテーブルをインスタンス化(例ではinitialize内で2つのテーブルを生成)
3.ビューに渡す(例ではindexアクション内)
(ビュー内で両者を表示)

コントローラ例

<?php
namespace App\Controller;

use App\Controller\AppController;
use Cake\ORM\TableRegistry;     //これを追記

class TestDatasController extends AppController
{
     public function initialize()
     {
         parent::initialize();
         $this->testdatas = TableRegistry::get('testdatasのテーブル名');
         $this->sampledatas = TableRegistry::get('sampledatasのテーブル名');
    }
    public function index()
    {
          //10件のみ表示
        $this->set('tests', $this->testdatas->find()->limit(10));
        $this->set('samples', $this->sampledatas->find()->limit(10));
    }
}
?>

index.ctp例

<h3>Test Index</h3>
<table>
    <thead>
        <tr>
            <th>ID</th>
            <th>Date</th>
            <th>Data</th>
        </tr>
    </thead>
    <tbody>
    <?php foreach ($datas as $data): ?>
        <tr>
             <td><?= h($data->id) ?></td>
            <td><?= h($data->date) ?></td>
            <td><?= h($data->data) ?></td>
        </tr>
        <?php endforeach; ?>
    </tbody>
</table>
「データベースアクセス & ORM (Cookbook 3.x)」
http://book.cakephp.org/3.0/ja/orm.html
「cake / waferboard」
http://www.igosso.net/flk/8999371750.html
スポンサーリンク
  • このエントリーをはてなブックマークに追加

関連記事

WordPressサイトのSSL対応(HTTPS化)手順のまとめ【さくらサーバー】

先週頃にこのサイトをSSL対応しましたのでその流れについてまとめておき

【Google Charts】動的にグラフを更新する方法

はじめに Webサイト上でグラフを描こうと思った場合、いくつかのJa

体重変化量計算シミュレータ【ダイエット/肥満】

ツール本体 入力 カロリー入力 1日の余剰摂取/消費カロリー

おサイフケータイ対応ストレージ32GBのSIMフリースマホまとめ【2017年秋版】

はじめに SIMフリーの格安スマホのおサイフケータイ機能付きのもので

リクルート期間限定ポイントの有効な使い道

はじめに  先日クレジットカードの見直し活動の一環でポイント還元率の

初心者がお金を貯めるための節約・財テク手法まとめ【ポイント還元・投資・税金対策】

はじめに  最近なるべく節約しようと思い、お金周りに関して色々調べて

動画講座を効率的にキャプチャして復習する方法

はじめに  最近、動画媒体の講座などをたまに視聴しています。独学だと

→もっと見る

  • Author : ががんぼ
    プログラミングやWeb関係で気付いたことについてメモしていく予定。だいたいが備忘録ですが、自分でサンプルを作って動かしてみたりしています。
PAGE TOP ↑