2009-06-16 36 views
4

我已經添加了一個新的列到我的表已經有的屬性(id,form_id(外鍵),類型,標籤,大小,序列號,instr) 其中instr是我添加的新列。爲什麼CakePHP的查詢結果中沒有顯示新的表列?

我的應用程序在CakePHP和MySQL中。

我已經使用下面的代碼插入到表中的屬性但是instr單獨沒有插入。

function saveFieldname($data)//from untitledfieldname 
{ 
    $this->data['Attribute']['form_id'] = $this->find( 'all', array(
                 'fields' => array('Form.id'), 
                 'order' => 'Form.id DESC' 
                )); 

    $this->data['Attribute']['form_id'] = $this->data['Attribute']['form_id'][0]['Form']['id']; 

    $this->data['Attribute']['label'] = 'Label'; 
    $this->data['Attribute']['size'] ='50'; 
    $this->data['Attribute']['instr'] ='Fill'; 

    $this->data['Attribute']['type'] = $data['Attribute']['type']; 
    $this->data['Attribute']['sequence_no'] = $data['Attribute']['sequence_no']; 

    $this->Attribute->save($this->data); 
} 

請建議我..

回答

7

餐桌的結構中的信息可能是緩存。刪除「app/tmp/cache/models」的內容並再次嘗試。

+0

Ya現在我已經刪除了/ cache/Models文件夾中的文件,現在完成了。 謝謝你。 – useranon 2009-06-16 09:36:29

+0

非常感謝,我在這張 – 2009-08-24 11:41:42

0

請注意,在開發過程中,app/config/core.php中的調試級別通常設置爲> 1.這意味着您不應該在開發中遇到問題,因爲Cake不會緩存。但是,在生產中,core.php中的debug設置爲0,從而導致Cake開始緩存。爲了補充說明,我已經將應用程序/ tmp/cache/models中的緩存文件移除爲我在生產CakePHP應用程序中指定的dhofstet,並且查找查詢仍然沒有抓取我的新列。

-

除了清除模型緩存文件,我將在我的生產現場調試級別爲2,沒有刷新頁面然後將其設置回0,並得到它再次合作。我知道這是一種醜陋的方法,但是在沒有其他方法可行的情況下,它爲我解決了這個問題。

相關問題