Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cakephp 在添加/保存子项时更新父项记录_Cakephp_Cakephp 2.0 - Fatal编程技术网

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

Cakephp 在添加/保存子项时更新父项记录,cakephp,cakephp-2.0,Cakephp,Cakephp 2.0,我有一个父模型“Project”,当我更新(添加/编辑/删除)一个风险时,它有很多“风险”,我还想更新父项目的更新字段 这项工作(在RisksController中): 但是必须有一个更简单的方法。更干净的方法是使用回调 它几乎与您拥有的代码相同(我认为您应该使用App::uses而不是loadModel) 另一种方法是mysql触发器,但这并不比这个简单。您可以使用$this->Risk->saveAssociated($this->request data) 由于项目有很多风险,风险可能属于

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

这项工作(在RisksController中):


但是必须有一个更简单的方法。

更干净的方法是使用回调

它几乎与您拥有的代码相同(我认为您应该使用App::uses而不是loadModel)


另一种方法是mysql触发器,但这并不比这个简单。

您可以使用
$this->Risk->saveAssociated($this->request data)


由于项目有很多风险,风险可能属于项目。如果是这样,则不必加载模型,因为已经定义了关联。
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());
...