无法在Sequelize.js上创build一对多的子实例

我正在使用sequize创build父项和子项实例,但会抛出以下错误。

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(); }); }); 

错误:

未处理的拒绝types错误:val.replace不是Object.SqlString.escape(c:\ APi \ node_modules \ sequelize \ lib \ sql-string.js:61:15)上Object.QueryGenerator.escape(c:\ APi \ node_modules \ sequelize \ lib中\方言\抽象\查询generator.js:983:22)

假设你有一个任务和不同的时间表,所以你可以尝试这样的事情你可以创build大部分时间表或单一的任务,以及改变bulkeCreate create

  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); }) }) 

你的json为taskschedule和任何值为post任务设置

  "task_time": [ { "shift": "m", "date": "01/23/2017", "start_time": "2017-01-22 19:00:00", "end_time": "2017-01-23 19:00:00", "status":"2", "user_id":"12" }, { "shift": "m", "date": "01/23/2017", "start_time": "2017-01-22 19:00:00", "end_time": "2017-01-23 19:00:00", "status":"2", "user_id":"12" } ], 

如果你有像下面这样的代码将自定义属性添加到对象,你将面临这个问题。

 Object.prototype.xxx = function(o) { ... } 

当Sequelize组合sql时,它循环遍历参数的所有属性,这将包括这个自定义属性。