2013-07-13 25 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; 
相关问题