cakePHP 保存到多个模型

Posted

技术标签:

【中文标题】cakePHP 保存到多个模型【英文标题】:cakePHP save to multiple models 【发布时间】:2012-05-17 10:19:08 【问题描述】:

我有 2 个模型需要保存到。在这种情况下,我不需要 cakephp 来 saveAll(),而是想手动保存内容。

在我看来,我将 formHelper 设置为“Model2.fieldname”,并且在发布后,如果我执行 pr(),则会使用 [Model2] 创建一个关联数组和字段。

我在控制器中的代码:

 if($this->request->is("post") 
      if($this->Model1->save($this->request->data) 
           if($this->Model1->Model2->save($this->request->data) 
                $this->Session->setFlash("Success");
           
      
 

它继续为模型 1 存储数据,但在模型 2 上失败。它在表中创建了一条空记录,因为有一个已创建和修改的表字段,但其余字段为空白。它也未能通过模型​​ 2 的验证(因此它不进行任何验证。)

Model1 有一个 Model2

我以前没有这样做过,所以我确信我做错了什么,所以如果有人可以帮助提前感谢:)

【问题讨论】:

【参考方案1】:

可以使用 cakephp 的saveAssociated() 方法:

$this->Model1->saveAssociated($this->request->data);

了解saveAssociated()

【讨论】:

以上是关于cakePHP 保存到多个模型的主要内容,如果未能解决你的问题,请参考以下文章

CakePHP 2.1 - 保存(和创建)多个连接模型和关联模型

CakePHP 3:上传多个文件并将文件名保存在关联模型中?

CakePHP 1.3 - 保存不相关模型的事务

CakePHP- 保存相关模型数据

CakePHP - 如何在保存时将关联记录添加到模型中?

Cakephp - 条件保存