小编Jam*_*mes的帖子

如何使用 Sequelize 创建嵌套对象和关系

我有 3 个型号。用户、项目和位置。

User.hasMany(Item)
Location.hasMany(Item)
Item.belongsTo(User)
Item.belongsTo(Location)
Run Code Online (Sandbox Code Playgroud)

这会运行,但不会在位置表中创建位置外键或位置行。

    models.User.create(
    {
      username: 'ddavids',
      email: 'hello@david.com',
      password: '12345678',
      items: [
        {
          itemName: 'Good Book',
          orderDate: '2020-01-20',
          locations: { locationName: 'floor' }
        },
        {
          itemName: 'Bad Book',
          orderDate: '2020-01-21',
          locations: { locationName: 'shelf' }
        }
      ]
    },
    {
      include: [{ model: models.Item, include: [models.Location] }]
    }
   )
Run Code Online (Sandbox Code Playgroud)

这会正确创建项目和位置,但显然不在用户之下。

    models.Location.create(
    {
      locationName: 'floor',
      items: [
        {
          itemName: 'Good Book',
          orderDate: '2020-01-20',
          locations: { locationName: 'floor' }
        },
        {
          itemName: 'Bad Book',
          orderDate: '2020-01-21',
          locations: …
Run Code Online (Sandbox Code Playgroud)

javascript orm relational-database node.js sequelize.js

6
推荐指数
1
解决办法
6531
查看次数