node.js - 无法创建具有一对多关系的对象
问题描述
我是sequelize的新手,所以在琐碎的任务中遇到了一些麻烦。我有一个数据库定义:
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" } ]
}
]);
在函数()中用数组包装 args 。create
希望它可以帮助你。
推荐阅读
- haskell - error: Not in scope: type variable [Haskell]
- uwp - 可以使用 Microsoft.NETCore.UniversalWindowsPlatform 版本 6.1.2 吗?
- c# - UWP IoT RPi3 连接到 MediaServer (DLNA) 无法列出文件夹
- c - C - 动态内存分配的二维字符串数组
- c - C线程同步
- r - 我一直在使用的 grep 函数似乎无法正常工作,我不知道为什么?
- reactjs - How i can limit the items in the FlatList and add load more?
- haskell - Haskell filter out circular permutations
- elixir - 允许在变更集期间进行虚拟关联的 Ecto Changeset 不起作用
- swift - 在swift中从每天的日期总结类似的月份对象