【问题标题】:How to handle foreign key association in sequelize如何在sequelize中处理外键关联
【发布时间】:2018-04-19 13:13:55
【问题描述】:

我已经关联了用户和 userAddresses 表。正常工作,但最近我删除了 userAddresses 表中的自动增量。因为 address_id 现在设置了 UUID (varchar),这就是为什么要删除自动增量。

我的代码如下:

return myModel.user.create(userInfo, {
          include: [{
            model: myModel.userAddresses,
            as: 'addresses'
          }]
        }).then((insertUser) => {

          return "insert successfully"
        }).catch((err) => {

          throw err;
        });

Error Like:"SequelizeValidationError: notNull Violation: ADDRESS_ID cannot be null"

【问题讨论】:

    标签: node.js sequelize.js


    【解决方案1】:

    您必须在节点 js "myModel.userAddresses" 中验证您的模型类是否属性 allow null 为 true

    type: Sequelize.INTEGER,
    allowNull: true
    

    【讨论】:

    • 感谢 siva,但我在邮递员的情况下我提供这样的数据 { "users":{ "addresses":[ { "COUNTRY_ID":null, "CITY":"", "POSTCODE":" ", "customerId":"4f4b4643-21b5-44b9-b396-a7afbd7e9544", "STATE":"", "ADDRESS_1":"mmm1 地址", "ADDRESS_ID":10, "ADDRESS_2":"" } ], " ID":"4f4b4643-21b5-44b9-b396-a7afbd7e9544", "FIRSTNAME":"testuser", "EMAIL":"mmm@gmail.com", } }
    • 在我记录的nodejs(console.log)中,地址详细信息不显示ADDRESS_ID,但显示所有其他字段
    • siva 关于为什么不在 nodejs 中显示 ADDRESS_ID 的任何想法
    • 不确定。可能是模型类属性名称拼写错误/不匹配
    • 但是我们将自动增量设置为 ADDRESS_ID 它可以正常工作
    猜你喜欢
    • 2012-11-24
    • 1970-01-01
    • 1970-01-01
    • 2021-07-25
    • 2021-04-21
    • 1970-01-01
    • 2018-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多