无法创建具有一对多关系的对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法创建具有一对多关系的对象相关的知识,希望对你有一定的参考价值。

我是续集中的新手,因此在处理琐碎的任务时遇到了一些麻烦。我有一个数据库定义:

 items.hasMany(images, {as: 'images', foreignKey: 'itemID'});

当我正在创建这样的项目时......

let result = await db.items.create(
      {
        type: req.body.type,
        name: req.body.name,
        images: [req.body.images]
      },
      {
        include: [ {model: db.images,  as: "images" } ]
      }
    );

......我收到一个错误:

TypeError:instance.set不是函数

可能是什么问题呢?或者它不是一种正确的插入方式?

问题在于我传递的对象类型。我正在传递[req.body.images],但它已经是一个数组了。所以删除[]问题解决了。

感谢所有检查过它的人:)

答案
let result = await db.items.create([
  {
    type: req.body.type,
    name: req.body.name,
    images: [req.body.images]
  },
  {
    include: [ {model: db.images,  as: "images" } ]
  }
]);

create函数()中使用数组包装args。希望它可以帮助你。

以上是关于无法创建具有一对多关系的对象的主要内容,如果未能解决你的问题,请参考以下文章

创建具有多个一对多关系的 DAO 查询?

Django:无法创建与一个普通模型具有一对一关系的多个模型对象

iOS:具有一对多关系的核心数据更新对象

如何使用 JDBI SQL 对象 API 创建一对多关系?

获取对象时无法访问一对多CoreData关系

核心数据 - 具有一对多关系的实体正在检索除“关系”实体之外的所有实体对象的属性