2017-03-02 160 views
0

我正在做表与sequ​​elize之间的关系,但我有一些麻烦。首先,我有我的课程模式,我要保存所有主体之间的关系,时间等用外键创建约束键sequelize

module.exports = function(sequelize, DataTypes) { 
    var Course = sequelize.define('Course', { 
     ... 
    }, 
    { 
     associate: function(models){ 
     Course.hasMany(models.Schedule); 

     Course.belongsTo(models.Period); 
     Course.belongsTo(models.Room); 
     Course.belongsTo(models.Subject); 
     } 
    } 
); 

    return Course; 
}; 

我一直在寻找有关约束键,以及我了解,这个我能有这样的限制,我可以” t通过行的列值具有相同的组合。并且稍后还可以更容易地进行查询。那意味着在表上添加一个额外的列?以及如何使用外键继续执行该操作?

我看了sequelize文档上,什么我发现了使用此代码,我需要所有列的协会内部:

Course.belongsTo(models.Person, {foreignKey: {constraints: true}}); 

但这只会让有个别不是全部之间唯一的值。

我也在计划模型中使用这个属性,我将为所有课程保存所有的一天和几小时,并且我假装阻止重复的行,以不同的日期组合和小时类似这样的“图”

| id |  days  | starHr | endHr | idCourse | 
| 1 | M,T,W  | 7:00 | 8:00 |  1  | 
| 2 | F,  | 8:00 | 9:00 |  1  | 
| 3 | Th  | 8:00 | 9:00 |  2  | 
| 4 | M,T,W  | 17:00 | 18:00 |  3  | 

回答