gpt4 book ai didi

sequelize.js - sequelize 实例中的 set 和 add 方法有什么区别?

转载 作者:行者123 更新时间:2023-12-03 17:08:33 25 4
gpt4 key购买 nike

文档说:

  • 添加:将一个或多个目标行与此相关联。
  • Set:通过传递一组持久化实例或其主键来设置关联模型。

  • 由于文档没有提供任何示例,我发现它非常令人困惑。 add 是否会将外键添加到关联行,而 Set 会将此的 forreignkey 设置为关联行?

    最佳答案

    我们来看一个 1:M 例如:项目有很多任务 .

    设置“不在传递数组中的所有内容都将取消关联”。这意味着如果您在同一个项目上第二次设置任务,您将替换以前的任务。

    而使用 add,您不必担心旧任务被替换;新旧任务都会被添加

    project.setTasks([task1, task2]).then(() => {
    // saved!
    })

    // remove the association with task1
    project.setTasks([task2]).then(associatedTasks => {
    // you will get task2 only
    })

    作为副作用,将空数组传递给 set 将删除所有任务
    // remove 'em all
    project.setTasks([]).then(associatedTasks => {
    // you will get an empty array
    })

    // or remove 'em more directly
    project.removeTask(task1).then(() => {
    // it's gone
    })

    http://docs.sequelizejs.com/manual/tutorial/associations.html#associating-objects

    关于sequelize.js - sequelize 实例中的 set 和 add 方法有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51470837/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com