データベーステーブルを参照しないページを作る
CakePHPでは、コントローラとデータベーステーブルは対となる想定になっています。
しかしサイトの構成によっては、データベーステーブルによらないページがあります。
対となるテーブルがない場合は次のようなエラーが出ます。
Missing Database Table Error: Database table 【テーブル名】 for model 【モデル名】 was not found.
このようにテーブルを参照しない(モデルを使用しない)コントローラを作るには、コントローラクラスの中に次のように『テーブルを使用しない』と指定します。
var $useTable = false;
通常はテーブルを参照するコントローラで、参照しないコントローラのみに$useTable = false;を指定することもできますが、
テーブルを参照しないページのほうが多ければ、基本を『テーブルを使用しない』としたほうが楽です。
modelに関する全体的な設定は
/app/app_model.php
に指定します。
全体的に『テーブルを使用しない』とするには次のように書きます。
<?php
class AppModel extends Model {
var $useTable = false;
}
この場合、テーブル(model)を使用するコントローラのみ$useTable = true;を指定します。
スポンサーリンク
関連記事
- プライマリキーIDを連番数字ではなく推測しにくい文字列にする方法
- 複数のデータベースを切り替える方法
- MySQLで文字化けを防ぐ方法
- action名にlistは使えない listを使う方法
- ログイン認証処理をする方法
- CakePHP、Symfony、Zend Frameworkの比較
- CakePHPのDB接続情報設定
- ファイル読み込みPATHを設定
- デバッグレベルを設定
- セキュリティレベルの設定
- キャッシュを有効にする
- CakePHPのエラーテンプレートの一覧
- TOPページはIndexControllerではない Cannot redeclare config()
- ディレクトリ構成
- CakePHP
スポンサーリンク






