使用CakePHP的表单方法(Cake 1.3.13)我试图创建一个表单来编辑和保存大量的记录;它实际上只是一个大表,用户正在为每条记录保存一个字段。 Cake的默认表单函数产生只提交一条记录的表单元素;当我提交表单时,只保存最后一条记录的数据,因为所有表单元素都具有相同的名称,所以它们只保存在`$ this-> data'中的两个字段中。创建一个保存多个记录的表格
这是我的表单元素:
$this->Form->hidden('TicketNo', array('value'=>$ticket['Hauler']['TicketNo']))
$this->Form->checkbox('Paid',array('value'=>$ticket['Hauler']['Paid']))
我们得到以下HTML,这将仅保存一个记录:
<input type="hidden" name="data[Hauler][TicketNo]" value="35498155" hiddenfield="1" id="HaulerTicketNo">
他们需要的是格式:
<input type="hidden" name="data[Hauler][id][TicketNo]" value="35498155" hiddenfield="1" id="HaulerTicketNo">
其中id是记录的主键。这样匹配记录的id就传递给$this->data
数组,如果我理解正确,我可以保存所有匹配的记录。我可以通过HTML和PHP手动构建这样的表单,但CakePHP的表单方法必须有一种方法来完成此操作,对吧?
这是外部数据,所以我必须遵循他们的约定。我现在尝试迭代器方法,虽然 –
这是行得通的。奇怪的是,我得到了'SELECT COUNT(*)AS [count] FROM [rs_Hauler] AS [Hauler] WHERE [Hauler]。[id] = 225434'你有什么想法为什么会发生'saveAll()'? –