php - $this->Agreements->save() - 只创建一条记录,为什么?

标签 php mysql cakephp cakephp-2.5

我需要读取表协议(protocol)中的所有记录,更改已提交的付款,并更新所有记录,保存到表中。所以,我的问题是, save() 只创建空记录。不更新现有记录。我向您展示如何:

从表中读取:

$agreements = $this->Agreement->find('all');
$payments = $this->Payment->find('all');

字段操作(部分)(示例):

$id=0;
foreach ($agreements as $agreement):
    for ($i=$first_agreement; $i<=$last_agreement; $i++){ 
        if ( $agreement['Agreement']['agreement_number']==$i){
           $agreements[$id]['Agreement']['payment']=$payd[$i];
        }
      }
$id++;
endforeach;

写入表:

$this->Agreement->save();

echo 调试($agreements)显示正确的数组,我也尝试过:

$this->Agreement->save($agreements);

$this->Agreement->save($this->request->data);

你能帮我解释一下如何写所有记录吗?

蛋糕 2.5.2 PHP:5.4.4-14

最佳答案

Model::save() 仅保存一条记录。如果要保存多条记录,则需要使用 Model::saveAll()Model::saveMany()

关于php - $this->Agreements->save() - 只创建一条记录,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24493646/

相关文章:

PHP:5.2.x 的 __callStatic 替代方案

mysql - SQL - 如何在不使用 AND 的情况下处理两个条件?

php - 使用 php 将多个复选框中的值插入到 mysql 数据库中的多行中

php - 在 CakePHP 中从一个模型创建多个模型

php mysql sql select问题: syntax?结构?绑定(bind)?

php - 如何像保护 feed 一样保护 XML

php - jQuery 和对象数组

mysql - 删除一个大的 mysql 表

jquery - 删除主 ID 以外的字段

mysql - CakePHP 是在代码级别处理 FK,还是我也应该将 FK 添加到我的数据库中?