在CakePHP 1.3中,有一个回调在`saveAll()`后使用吗? [英] In CakePHP 1.3, is there a callback for use after a `saveAll()`?

查看:107
本文介绍了在CakePHP 1.3中,有一个回调在`saveAll()`后使用吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用CakePHP 1.3,是否有一个回调在 之后在模型上执行 saveAll()一个行为?

Using CakePHP 1.3, is there is a callback that is fired after a saveAll() on a model, or a way to implement such a behavior?

也许 afterSave()已经这样做了吗?

Maybe afterSave() already does this?

具体来说,我想运行一些特殊的方法,但只有在保存相关项后,并且只有父项一个新保存的实例。

Specifically, I would like to run a couple particular methods, but only after related items have been saved, and only if the parent item is a newly saved instance.

类似于 $ created 参数,传递给 afterSave(),显然看起来很完美,但我至少90%确定 afterSave()在初始保存后调用模型 - 我知道在之前发生相关模型的保存(以便他们有东西放在FK字段)。

Something like the $created argument, passed to afterSave(), obviously seems perfect, but I'm at least 90% certain that afterSave() is called on a model after the initial save -- which I understand has to happen before the related models are saved (so that they have something to put in the FK field).

您认为如何获得此行为?

What do you suggest for obtaining this behavior?

推荐答案

没有回调 Model :: saveAll()内置到CakePHP,但我相信你可以重写模型上的方法来创建你的如下:

There isn't a callback for Model::saveAll() built into CakePHP, but I believe you can override that method on the model to create your own, like so:

// In your Model class...
function saveAll($data = null, $options = array()) {
    parent::saveAll($data, $options); 
    $this->afterSaveAll(); // Your new custom callback. 
}

function afterSaveAll() { 
    // Callback code. 
}



我目前不知道如何产生 $ created 变量行为类似于 Model :: afterSave()

这篇关于在CakePHP 1.3中,有一个回调在`saveAll()`后使用吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆