【问题标题】:I want to create only a new association, using Sequelize (really simple question)我只想使用 Sequelize 创建一个新关联(非常简单的问题)
【发布时间】:2021-05-25 20:31:58
【问题描述】:

我只想创建一个新的关联,我对在这件事中使用 Sequelize 感到困惑

我有国家和活动,与多对多的关系,建立关系只是在做

Country.belongsToMany(Activity, { through: 'Country_Activity' });
Activity.belongsToMany(Country, { through: 'Country_Activity' }); 

这个“Country-Activity”表将由 sequelize 创建

当我想创建一个新实例时,比如说一个国家,我编写代码:

Country.create({
   name: "name",
   Activity: {...}
},{
   include: Activity
})

如果我想为一个 Country 添加一个新的关联(一个新的 Activity),这个 Country 已经存在,但我只想给它添加一个新的关联

我该怎么做?

提前致谢,

拉斐尔

【问题讨论】:

    标签: javascript sql node.js postgresql sequelize.js


    【解决方案1】:

    不幸的是,我找到的唯一解决方案是:

    const country = await Country.create({
       name: "name",
    })
    const myActivityIds = [1]//or whatever the desired Id is 
    await country.setActivities(myActivityIds)
    

    这里是关于创建关联的文档。我希望我是错的,你能找到更好的方法! https://sequelize.org/master/manual/creating-with-associations.html#hasmany---belongstomany-association

    【讨论】:

    • 它正在创建这个国家,这是我不想要的。我想我得把这个国家拿下来,删除它,然后重新创建它,应该有更好的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-16
    • 1970-01-01
    • 2011-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多