我正在尝试创建一个上传插件。我保持行为的所有逻辑。这个东西昨天工作得很好,从没有出现这个奇怪的问题。
/*controller code */
debug($this->request->data);
$this->Model->saveAll($this->request->data);
/* outputs
Array
(
[Ad] => Array
(
[s] => 2
[d] => 2
)
[Upload] => Array
(
[field] => Upload
[table] => Ad
[filename] => Array
(
[name] => index.php
[type] => application/x-php
[tmp_name] => /tmp/php3MbvRh
[error] => 0
[size] => 32
)
)
)
*/
我正在开发一个插件。在插件beforeSave()中,我调试相同的数据并显示
public function beforeSave(Model $Model) {
debug($Model->data);
}
/* outputs
Array
(
[Upload] => Array
(
[1pload] =>
)
)
*/
每次出现fields属性的数字。有时它是1,8和/或9. :(
答案 0 :(得分:0)
我无法弄清楚问题。但是beforeSave()中的debug()被执行了好几次。所以,我在插件中添加了
if( isset ($this->data['preferred']['data'] ) {
}
对于前几次传球,它仍然是类似的,但在第三次或第四次它确实显示数据。
所以,我提出了一个理论,即插件中的beforeSave与模型的beforeSave是异步的,如果我进行检查则可以解决问题。事实上确实如此。