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

时间:2014-06-30 15:26:03

标签: php mysql cakephp cakephp-2.5

我需要阅读表格协议中的所有记录,更改归档付款,并更新所有记录,保存到表格。所以,我的问题是,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();

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

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

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

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

Cake 2.5.2 PHP:5.4.4-14

1 个答案:

答案 0 :(得分:2)

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