在添加/保存子项时更新父记录

时间:2015-01-09 23:04:28

标签: cakephp cakephp-2.0

我有一个父模型,“项目”,它有很多“风险”当我更新(添加/编辑/删除)风险时,我还想更新父项目的更新字段。

这适用于(在RisksController中):

if ($this->Risk->save($this->request->data)) {
    $this->loadModel('Project');
    $project = $this->Project->findById($this->request->data['Risk']['project_id']);
    $this->Project->id = $project['Project']['id'];
    $this->Project->saveField('Updated', time());
...

但是有一种更简单的方法。

2 个答案:

答案 0 :(得分:1)

更简洁的方法是使用afterSave回调。

这几乎与你的代码相同(我认为你应该使用App ::而不是loadModel)

另一种方式是mysql触发器,但这并不比这个容易。

答案 1 :(得分:1)

相关问题