2016-02-12 14 views
0

我播種與sequ​​elize夾具數據庫,我已經知道如何處理與它的許多一對多的關係:如何使用sequelize fixture來處理連接表中的其他屬性?

Project.hasMany(User); 
User.hasMany(Project); 
[ 
    { 
     "model":"User", 
     "data":{ 
      "id": 123, 
      "name": "John" 
     } 
    }, 
    { 
     "model":"Project", 
     "data": { 
      "id": 20, 
      "name": "The Great Project", 
      "UserProjects": [123] 
     } 
    } 
] 

但是,如果連接表有類似的附加屬性:

User = sequelize.define('user', {}) 
Project = sequelize.define('project', {}) 
UserProjects = sequelize.define('userProjects', { 
    status: DataTypes.STRING 
}) 

User.belongsToMany(Project, { through: UserProjects }) 
Project.belongsToMany(User, { through: UserProjects }) 

如果我使用上面的夾具,狀態會加載夾具後無效,因爲它並不需要的狀態屬性考慮在內。如何使用sequelize-fixtures爲連接表UserProjects的狀態屬性創建種子?

回答

1

這現在可以以V進行使用的M2M關係的特殊_through關鍵sequelize,燈具的0.5.1:

[ 
    { 
     "model":"User", 
     "data":{ 
      "id": 123, 
      "name": "John" 
     } 
    }, 
    { 
     "model":"Project", 
     "data": { 
      "id": 20, 
      "name": "The Great Project", 
      "users":[ 
       { 
        "id": 123, 
        "_through": { 
         "status": "active" 
        } 
       } 
      ] 
     } 
    } 
] 
相關問題