2017-08-28 113 views

回答

0

我还没有和cakePHP具体工作,但如果它是类似于其他一些MVC框架中,beforeSave()afterSave()回调相似的上下文中执行(它们属于同一个对象 - 一个模型或控制器)。

如果是这样的话,一个简单的解决方案是简单地使用自定义类属性来跟踪您的数据。

private $custom; 

beforeSave(){ 
    // save what you want to access later 
    $this->custom = 'comparison result'; 
} 

afterSave(){ 
    // retrieve what we found in beforeSave() 
    $custom = $this->custom; 
} 
+0

真棒!谢谢! –

0

您可以将参数传递给你的回调从模型的save(array $data = null, array $params = array())功能beforeSave(array $options = array())afterSave(boolean $created, array $options = array())

下面是一个例子

//In your controller 
$this->Post->save($data, array('arg1' => $value)); 

//In the Post Model 
beforeSave($options = array()){ 
    // $options contains the arg1 param 
} 

afterSave($created, $options = array()){ 
    // $options contains the arg1 param 
} 

试试吧:)

相关问题