出现的数字代替数组的第一个字母

时间:2012-03-15 08:36:36

标签: cakephp-2.1 cakephp-appmodel

我正在尝试创建一个上传插件。我保持行为的所有逻辑。这个东西昨天工作得很好,从没有出现这个奇怪的问题。

/*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. :(

  • 从bootstrap.php(CakePlugin :: loadAll())
  • 加载插件
  • 该插件使用uploads表。其模型作为模型维护。
  • 插件行为已正确定义并且运行正常。不是现在

1 个答案:

答案 0 :(得分:0)

我无法弄清楚问题。但是beforeSave()中的debug()被执行了好几次。所以,我在插件中添加了

if( isset ($this->data['preferred']['data'] )  {

}

对于前几次传球,它仍然是类似的,但在第三次或第四次它确实显示数据。

所以,我提出了一个理论,即插件中的beforeSave与模型的beforeSave是异步的,如果我进行检查则可以解决问题。事实上确实如此。