2016-04-05 21 views
0

オフィシャルセットテーブルに外部キーとしてofferzoneテーブルを追加したいと思います。 sequelizeを使用し、以下のモデルはangularjsで書かれています。hasMany association in sequelizeを作成する

module.exports = function(sequelize, DataTypes) { 
let offerzone = sequelize.define('offerzone', { 
title: DataTypes.STRING, 
moid: DataTypes.INTEGER, 
seoTandC: DataTypes.STRING, 
isActive: DataTypes.BOOLEAN, 
set: DataTypes.ARRAY(DataTypes.STRING), 
isDeleted: DataTypes.BOOLEAN 
}, { 
classMethods: { 
    associate: function(models) { 
    offerzone.belongsToMany(models.offerset, { 
     through: 'models.offerset' 
     foreign-key: 'offerzone' 
     as: 'offerset' 
    }); 

    // associations can be defined here 
    } 
} 
}); 
return offerzone; 
}; 

答えて

0

hasManyアソシエーションをsequelizeで定義するには、たとえばビデオhasManyコメントが必要な場合は次のようにします。ビデオで

あなたがのためにそのような何かを持っていますあなたビデオコメントモデルはなります

module.exports = function (sequelize, DataTypes) { 
    var Video = sequelize.define("Video", { 
     author: { 
      type: DataTypes.STRING, 
      allowNull: false 
     } 
    }, { 
     classMethods: { 
      associate: function (models) { 
       Video.hasMany(models.Comment, {foreignKey: 'videoid', onDelete: 'cascade', hooks: true}); 
      } 
     } 
    }); 
    return Video; 
}; 

モデル:

module.exports = function (sequelize, DataTypes) { 
    var Comment = sequelize.define("Comment", { 
     commentary: { 
      type: DataTypes.TEXT, 
      allowNull: false 
     } 
    }, { 
     classMethods: { 
      associate: function (models) { 
       Comment.belongsTo(models.Video, {foreignKey: 'videoid', allowNull: false}); 
      } 
     } 
    }); 
    return Comment; 
}; 

一部onDelete: 'cascade', hooks: trueはつまり、あなたは、動画にコメントを削除した場合削除されます

関連する問題