调试级别为0时,不调用CakePHP afterSave

时间:2014-11-17 00:28:43

标签: cakephp model

在使用CakePHP 2.5.1时,在特定模型上我正在调用afterSave。但它只有在我设置调试级别> 0(即Configure :: write('debug',0);)时才有效。

 /**
 * afterSave callback
 *
 * @param $created boolean
 * @param $options array
 * @return void
 */
    public function afterSave($created, $options = array()) {
        if($created) {
            CakeResque::enqueue('myqueue', 'MyShell', array('MyFunction', 'arg1', 'arg2'));
            CakeLog::write('debug', 'doesnt give anything' );
        }
        return true;
    }

奇怪的是,一切工作正常,调试级别设置为1或2,这在生产模式下是不可接受的。此外,日志中没有写入任何内容,因此似乎甚至没有调用afterSave函数。

1 个答案:

答案 0 :(得分:0)

实际上,这与模型无关。在控制器中有一个特定的功能 - 用于检查用户是否有足够的信用 - 我在之前调用给出了一个不可见的错误(尽管它返回 true !) ,因为递归设置为0而不是-1。因此,由于一些奇怪的原因,我的功能中的后遗症没有被调用。