我正在尝试使用以下模型和save方法保存实体,但它只创建父实体。参见:
var Project = database.define('projects', {
name : {
type : Sequelize.STRING,
allowNull : false,
unique : true
},
archived : {
type : Sequelize.BOOLEAN,
allowNull : false,
defaultValue : false
}
});
var Sprint = database.define('sprints', {
name : {
type : Sequelize.STRING,
allowNull : false,
unique : true
},
start : {
type : Sequelize.DATE
},
end : {
type : Sequelize.DATE
}
});
Project.hasMany(Sprint, {
as : 'sprints'
});
Sprint.belongsTo(Project);
Express中的保存方法:
var project = req.body;
models.Project.create(project).then(function(project){
return res.json(project);
}, function(err) {
return next(err);
});
req.body就像:
{
archived : false,
name : "Projeto 1",
sprints : [{
end : "2016-02-25T03:00:00.000Z",
name : "Sprint 1",
start : "2016-02-19T02:00:00.000Z"
}
]
}
结果是在数据库中创建的项目的一条记录。没什么。
Sprint条目也是新的,我期待它可以与Project一起创建。
有什么想法吗?
由于
答案 0 :(得分:1)
好的,现在它保存了Project和它的Sprint:
var project = req.body;
models.Project.create(project, {
include : [{
model : models.Sprint,
as : 'sprints'
}
]
}).then(function (project) {
return res.json(project);
}, function (err) {
return next(err);
});