アソシエーション確認のコントローラとビュー

テストデータを作ったあとに、コントローラとビューを作りました。関連テーブルからちゃんと引っ張れているかどうかの確認です。

controllers/subjects_controller.php

<?php
loadModel("Subject");
class SubjectsController extends AppController{
       public $uses = null;
       function view($id = null) {
               $dao = new Subject();
               $this->set('subject', $dao->findById($id));
       }
}

views/subjects/view.thtml

<?php print_r($subject);?>

ボケ、コメント、投票にも同様に暫定のコントローラとビューを作りました。

http://path/to/subjects/view/2
等のURLを叩くと、関連付けたテーブルからきちんとデータを引っ張れていました。よしよし。

ただ、お題とボケ、ボケと投票、お題とコメントは全て1対多で紐付けてありますが、お題と投票が1対多になるのは二段階での紐付けなのでデフォルトだと引っ張れてきていません。逆もまた然りでこのままだとお題テーブルしか必要ないときでも一段階掘り進んじゃうのかもしれません。ここはあとで要見直しです。

また、イマイチわかっていなかったところ、コントローラーからビューにデータを受け渡す際どうするのか、についてのマニュアルの記述
> set() で1度設定すると、ビューの中で変数が使用できるようになります。コントローラで set(‘color’, ‘blue’) を実行すると、ビューの中で、 $color 変数が使用できるようになります。
この記述がようやくピンと来ました。コントローラでセットした変数をペタペタ貼るなり展開するなりのイメージを持てばいいのね、ビューで。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中