我需要读取表协议(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/