我有一组输入,每个输入具有相同的名称,如图
所示我想用每个房间数和标准费率保存每个类别。所有类别输入的名称(<input name="category[]">
)都与房间数和标准费率相同。
到目前为止,我已经尝试过:
foreach($data['category'] as $cat){
$this->Model->save($cat)
//Will save only categories without No. of rooms and standard rate.
}
有没有办法foreach
通过3组输入并相应地保存不同行中的数据?我的表列以输入名称命名。
答案 0 :(得分:1)
使用FormHelper和saveMany
很容易实现。首先,在您的视图中,您希望使用FormHelper包含表单元素,例如: -
echo $this->Form->input('Model..category');
您需要将Model
替换为模型别名。 ..
将导致它输出名称为Model[][category]
的输入。如果要控制数字索引(例如在循环中将其与其他字段关联),可以将其更改为$this->Form->input('Model.1.category')
,这将生成名为Model[1][category]
的输入。
然后在您的控制器中,您可以使用saveMany
保存此数据: -
$this->Model->saveMany($this->request->data);
再次将Model
替换为您的模型的别名。
答案 1 :(得分:0)
您是否能够将此类格式发送到您的控制器,然后您可以在Caek php中使用saveMany()函数“
http://book.cakephp.org/2.0/en/models/saving-your-data.html
OnAuthorization
或
$data = array(
array('field1' => 'valuea', 'field2' => 'valuea'),
array('field1' => 'valueb', 'field2' => 'valueb'),
array('field1' => 'valuec', 'field2' => 'valuec')
)
格式。
你可以这样做 $这 - &GT;模型 - &GT; saveMany($数据);