2011-01-06 63 views
0

在向表中添加一些列後,我的模型找不到那些新列,但可以找到現有列。向表中添加一些列後,除非我在Kohana3中運行reload(),否則ORM無法找到那些列。

例如,假設我在user表中添加了point列,並且第name列存在一個。

$foo = ORM::factory('user',1); 
$foo->name; // it's ok 
$foo->point; // would throw exception:The :property property does not exist in the :class class 
$foo->reload(); 
$foo->point; // would work 

正如你所看到的,如果我在獲取新列之前添加reload(),它就會起作用。但我真的不認爲這是做到這一點的正確方法。我之前改變了架構,沒有任何問題。尋找永久的解決方案..

+1

1.您的模型具有帶舊列列表的$ _column_cache屬性。 2.可能是從會話加載的第一個模型實例? 無論如何,你可以轉儲模型並分析$ _object屬性。 – biakaveron 2011-01-06 09:19:33

+0

它現在沒有任何變化的工作..似乎像緩存或什麼的。無論如何,我不想再爲此煩惱了.. – kinopyo 2011-01-06 11:59:43

回答

0

我想出瞭如何解決這個問題。 只需刪除目錄中的所有文件:cache/.kohana/,即kohana保留數據庫模式緩存的地方。

相關問題