是否可以使用$this->save();
函数在cakephp中保存多条记录?
答案 0 :(得分:4)
save()
用于简单保存模型:
Array
(
[ModelName] => Array
(
[fieldname1] => 'value'
[fieldname2] => 'value'
)
)
假设上述信息存储在名为$ data的数组中,可以调用
$this->ModelName->save($data);
为INSERT
记录到模型表中(如果未指定id字段)或UPDATE
记录模型表(如果id字段为指定)。
saveAll()
用于:
保存模型的多个记录
Array
(
[Article] => Array
(
[0] => Array
(
[title] => title 1
)
[1] => Array
(
[title] => title 2
)
)
)
因此,您可以同时保存许多模型,而不是每次循环和使用save()。
保存模型的相关记录
Array
(
[User] => Array
(
[username] => billy
)
[Profile] => Array
(
[sex] => Male
[occupation] => Programmer
)
)
这会同时保存User
和Profile
模型。否则,您必须首先为用户致电save()
,获取新保存用户的id
,然后将Profile
设置为user_id
保存到id
}。
直接从the book获取的示例。
答案 1 :(得分:0)
示例:
$dataMulti = array(
array(
'Info' =>
array(
'note' => "This is note 1",
'delete_flag' => "f"
)
),
array(
'Info' =>
array(
'note' => "This is note 2",
'delete_flag' => "f"
)
),
array(
'Info' =>
array(
'note' => "This is note 3",
'delete_flag' => "f"
)
),
);
一次保存许多记录 我们有以下两种方式:
1. $infoModel->saveAll($dataMulti);
或
2. $infoModel->saveMany($dataMulti);