2013-07-13 70 views
0

beforeSave()回調我取消設置一個字段做:爲什麼在模型中取消設置數據不會影響控制器?

unset($this->data['Company']['myField']);

然後,在我的公司負責人,如果我做的:

保存()

debug($this->request->data)

我仍然看到模型中未設置的字段。

看來,更改隻影響模型範圍而不影響控制器。

我該如何更新我的$this->request->data作爲模型中的數據?

感謝

回答

2

這是基本的OOP。如果你不傳遞對象(但數據數組),你不能 - 本身 - 期望通過引用。 因此,修改模型中的數據不能改變請求對象中的數據。你通過他們後,他們是獨立的。

如果你需要 - 由於某種原因 - 更新您的請求對象,您需要重新提取數據:

if ($this->Model->save($this->request->data)) { 
    // redirect on success? 
} 
$this->request->data = $this->Model->data; 
相關問題