2017-03-02 125 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  | 

回答