2016-02-19 87 views
0

我試圖用以下模型保存實體並保存方法,但它只創建父實體。請參閱:Sequelize.js - 與關聯的堅持模型

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

的保存方法,在快遞:

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" 
     } 
    ] 
} 

結果是在數據庫中創建項目的一個記錄。而已。
衝刺項目也是新的,我期待它可以與項目一起創建。

任何想法?

感謝

回答

0

好了,現在可以節省項目和它的衝刺:

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