我取消了一个字段:
unset($this->data['Company']['myField']);
然后,在我的公司控制器中,如果我这样做:
保存() 后 debug($this->request->data)
我仍然看到我在模型中未设置的字段。
似乎更改只影响模型范围,而不影响控制器。
如何更新我的$this->request->data
作为模型中的数据?
感谢
答案 0 :(得分:2)
这是基本的OOP。如果你不传递对象(但是数据数组),你不能 - 本身 - 期望通过引用传递。 因此,修改模型中的数据也不能改变请求对象中的数据。通过后,他们是独立的。
如果由于某种原因需要更新请求对象,则需要再次提取数据:
if ($this->Model->save($this->request->data)) {
// redirect on success?
}
$this->request->data = $this->Model->data;