2016-02-12 16 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" 
        } 
       } 
      ] 
     } 
    } 
] 
相关问题