0

我需要从表格协议中读取所有记录,更改已提交的付款,并更新所有记录,保存到表格中。所以,我的问题是, 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 debug($agreements) 显示正确的数组,我也尝试过:

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

或者

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

你能帮助/解释我如何写所有记录吗?

蛋糕 2.5.2 PHP : 5.4.4-14

4

1 回答 1

2

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

于 2014-06-30T17:04:10.150 回答