gpt4 book ai didi

associations - Sequelize 创建一个新实例并添加关联

转载 作者:行者123 更新时间:2023-12-03 22:21:57 24 4
gpt4 key购买 nike

我已经查看了文档并在 sequelize github repo 上阅读了一些与此相关的问题,但到目前为止还没有找到任何解决方案,恕我直言,简单的操作。
我有两种模型:用户和卡片。它们与一对一的关系相关联。

Orders.create({
date: req.body.date,
...
card: req.body.card //FK to a card ID
})

req.body.card 是卡片的 id。当我取回创建的对象时,虽然 card 为空。

我也尝试先创建订单,然后再添加关联,但也没有任何运气。我发现了一些关于设置关联的 set 函数的内容,但我只看到了带有 hasMany 关系的示例。

我不想做任何花哨的事情 - 只是想在订单的卡片字段中设置卡片 ID。

最佳答案

您的模型定义存在一些问题:

Orders.hasOne(models.Cards, { foreignKey: 'id', as: 'card', });
  • 在您的定义中,外键将放置在 cards 表中。
  • foreignKey 命名为 id 将与模型自己的 id 字段发生冲突。

  • 请尝试以下操作:
    const Card = sequelize.define('card', {
    name: { type: Sequelize.STRING }
    });

    const Order = sequelize.define('order', {
    name: { type: Sequelize.STRING }
    });

    Order.hasOne(Card, { foreignKey: 'order_id' }); // if foreignKey is not included, will default to orderId

    const order = await Order.create({
    name: 'first order'
    })

    const card = await Card.create({
    name: 'first card',
    order_id: order.id
    })

    关于associations - Sequelize 创建一个新实例并添加关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52751933/

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