如何保存cakePHP中的所有数据。假设我有关于单个模型的记录数量我希望一次保存所有数据。我的数组是格式化的。
Array
(
[Attendance] => Array
(
[0] => Array
(
[date] => 2013-10-09
[user_id] => 10
[attendance] => 1
)
[1] => Array
(
[date] => 2013-10-09
[user_id] => 8
[attendance] => 0
)
)
)
这是否可以一次保存所有数据。我尝试使用saveMany这样做,但它没有成功。
我是否需要在循环
中执行此操作foreach ($result as $data) {
$this->Attendance->create();
$this->request->data['Attendance'] = $data;
$this->Attendance->save($this->request->data);
}
答案 0 :(得分:1)
尝试saveMany而不是保存
$this->Attendance->saveMany($this->request->data);
数据应采用以下格式:
Array
(
[1] => Array
(
[Attendance] => Array
(
[field] => value
[field] => value
)
)
[2] => Array
(
[Attendance] => Array
(
[field_1] => value
[field_2] => value
)
)
)
答案 1 :(得分:0)
CakePHP将为您在阵列上的每个id保存每条记录。唯一的要求是使用它们的数组结构约定,然后使用:
// Check method request
if ($this->request->is('post')) {
// Check not empty data
if (!empty($this->data)) {
// Save the data
if ($this-> Attendance->save($this->request->data)) {
// Set a session flash message and redirect.
$this->Session->setFlash('Attendance saved.');
$this->redirect('/Attendances');
} else {
$this->Session->setFlash('Error saving the data.');
}
}
}