Pocket

CakePHP で MissingTableException が出た時の対処方法

  • add this entry to hatena bookmark

CakePHPで新しいテーブルを作成して動作確認をすると、ブラウザ画面が真っ白になる時があります。 tmp/logs/error.log を参照し、以下のようなエラーが出ている場合です。

Error: [MissingTableException] Table (テーブル名) for model (モデル名) was not found in datasource default.

その際は、tmp/cache/models/ 配下にあるファイル(モデルのキャッシュファイル)を全部削除すると、エラーが解消されました。

私が使っているCakePHP のバージョンは「2.4.6」ですが、このような現象は「2.4.6」に限らず有り得るようです。

私の場合、新しく作成したテーブル名でのキャッシュファイルは存在しなかったので、元々あったキャッシュファイルを削除するかどうか迷いました。ですが、元々存在していたキャッシュファイルを全て削除し、ブラウザでアプリにアクセスすると、関連するモデルのキャッシュファイルが作成されていきます。エラーも解消されました。

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

チェックサイト RSS Feed読者登録はいかがでしょうか?RSS配信中です。