首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在cakephp中save和saveAll函数有什么不同?

在cakephp中save和saveAll函数有什么不同?
EN

Stack Overflow用户
提问于 2010-12-23 14:47:00
回答 3查看 5.2K关注 0票数 2

有人能举个例子吗?

EN

回答 3

Stack Overflow用户

发布于 2010-12-23 15:02:58

save用于简单地保存模型:

代码语言:javascript
复制
Array
(
    [ModelName] => Array
    (
        [fieldname1] => 'value'
        [fieldname2] => 'value'
    )
)

假设上面的信息存储在一个名为$data的数组中,我们将调用

代码语言:javascript
复制
$this->ModelName->save($data);

以便将记录插入到模型的表格中(如果未指定id字段)或更新模型表格的记录(如果指定了id字段)。

saveAll用于:

保存一个模型的多条记录

代码语言:javascript
复制
Array
(
    [Article] => Array
    (
        [0] => Array
        (
            [title] => title 1
        )
    [1] => Array
        (
            [title] => title 2
        )
    )
)

因此,您可以同时保存多个模型,而不是每次都循环和使用save()

保存模型的相关记录

代码语言:javascript
复制
Array
(
    [User] => Array
    (
        [username] => billy
    )
    [Profile] => Array
    (
        [sex] => Male
        [occupation] => Programmer
    )
)

这将同时保存UserProfile模型。否则,您必须首先调用Usersave(),获取新保存的用户的id,然后保存Profile,并将user_id设置为获取的id

直接取自the book的例子。

票数 8
EN

Stack Overflow用户

发布于 2010-12-23 15:00:47

saveAll将所有模型数据保存在一个表单中,而save只保存一个。因此,您可以使用save来保存单个值,而saveAll基本上省去了使用循环保存的麻烦。

票数 1
EN

Stack Overflow用户

发布于 2012-05-04 01:28:23

自Cake 2.0起

save将模型数据(如果提供,基于白名单)保存到数据库。默认情况下,验证发生在保存之前。

saveAll为单个模型保存多个单独的记录;还可以处理单个记录及其所有关联的记录。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4516481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档