我需要阅读表格协议中的所有记录,更改归档付款,并更新所有记录,保存到表格。所以,我的问题是,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
答案 0 :(得分:2)
Model::save()
只保存一条记录。如果您想保存多条记录,则需要使用Model::saveAll()
或Model::saveMany()
。