我正在使用sequlize创建父实例和子实例,但它会抛出以下错误。
Site.hasMany(Group,{as:'groups'});
Group.belongsTo(Site);
//not working
Site.create(siteData).then((site)=>{
site.addGroups(groupData).then(()=>{ //also tried addGroup
next();
});
});
//this works
Site.create(siteData).then((site)=>{
groupData.SiteId=site.id;
Group.create(groupData).then(()=>{
next();
});
});
错误:
未处理拒绝TypeError:val.replace不是函数 at Object.SqlString.escape(c:\ APi \ node_modules \ sequelize \ lib \ sql-string.js:61:15) at Object.QueryGenerator.escape(c:\ APi \ node_modules \ sequelize \ lib \ dialects \ abstract \ query-generator.js:983:22)
答案 0 :(得分:0)
假设您有一个任务和不同的时间表,那么您可以尝试这样的和,您可以创建大量的时间表或单个任务,只需将bulkeCreate
更改为{{1} }
create
你的json for taskschedule以及为帖子正文中的任务设置的值
var ts=req.body.task_time;
tasks.create(req.body).then(function (taskvalues) {
//for adding taskId with each object to prepare object for bulk
for(var i=0;i<ts.length;i++)
ts[i].taskId = taskvalues.id;
taskschedule.bulkCreate(ts,{ individualHooks: true }).then(function (allschedule) {
res.status(200).json({"message":"Post saved successfully"});
}).catch(function (err) {
res.status(500).json(err)
}).catch(function (err) {
res.status(500).json(err);
})
})
答案 1 :(得分:-1)
如果您有以下任何代码向Object添加自定义属性,您将面临此问题。
Object.prototype.xxx = function(o) {
...
}
当Sequelize编写sql时,它会遍历参数的所有属性,包括这个自定义属性。