昔、触りだけCakePHPをいじったことがある程度のものです。
長らく触れていませんでしたが、テーブルの追加をCakePHPに認識させられず、苦戦しています。
CakePHPは1.3
エラーは
Missing Database Table Error: Database table tax2 for model Tax2 was not found.
コントロール側
class TestController extends AppController { var $name="Test"; var $uses=array("Tax2"); function …
モデル側
class Tax2 extends AppModel { var $name = "Tax2"; var $useTable = "tax2";
もともと、taxというテーブルが存在しており、tax2はそれをコピーしたものです。
##切り分け
######SQLへの接続の問題ではない
既に存在しているtaxというテーブルに接続を変えるとエラーは吐かない
$useTable = "tax2"; => $useTable = "tax";
######テーブル固有の問題ではない
現在、エラーにならない既存のtaxテーブルと、エラーになるtax2テーブルが有る
tax2テーブル名をtaxに変更し、$useTable = "tax";にするとエラーにはならない
taxテーブル名をtax2に変更し、$useTable = "tax2";するとエラーが出力される
MySQLがら直接テーブルへの接続、参照は可能
######CakePHP側のキャッシュ?
つまり、DBとしてではなく、新規作成したTable tax2のみが、何かしらの理由でCakePHP側で認識されない…という結論に至っています。
キャッシュ問題も指摘されていますが、dubug=0ではなく、また
rm app/tmp/cache/model/*
も実施済み。
tmpディレクトリにあるpersistent絡みはよくわからずキャッシュ削除せず。
コードの中ではpersistent=false
どうか、ご教授くださいませ
回答1件
あなたの回答
tips
プレビュー