【发布时间】:2017-04-14 21:07:56
【问题描述】:
在我的模型中有一个 Users 表和一个 UserPhones 表。 User.id 是 UserPhones 中的外键。
module.exports = (sequelize, DataTypes) => {
const User = sequelize.define('User', {
userid : {
type : DataTypes.UUID,
primaryKey : true,
},
username : DataTypes.STRING,
},
{
classMethods: {
associate: (models) => {
models.User.hasOne(models.UserPhone, {foreignKey: 'userId'});
}
}
});
return User;
};
module.exports = (sequelize, DataTypes) => {
const UserPhone = sequelize.define('UserPhone', {
id : {
type : DataTypes.UUID,
primaryKey : true,
},
userId : {
type : DataTypes.UUID,
references: {
model : require('.').User,
key : 'userid',
deferrable: sequelize.Deferrable.INITIALLY_IMMEDIATE
}
},
phoneNumber : {
type: DataTypes.STRING
}
},
{
classMethods: {
associate: (models) => {
models.UserPhone.belongsTo(models.User, {foreignKey: 'userId'});
}
}
}
);
return UserPhone;
};
销毁电话号码很容易:
UserPhone.destroy({where: {phoneNumber: '123456789'}};
我想通过 sequelize 删除所有拥有特定电话号码的用户。 更好的是,删除所有拥有一系列电话号码的用户。
【问题讨论】:
标签: javascript sql node.js sequelize.js