В моей модели есть таблица Users и таблица UserPhones. User.id - это внешний ключ в UserPhones.secelize destroy record with join
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;
};
Уничтожение PHONENUMBER легко:
UserPhone.destroy({where: {phoneNumber: '123456789'}};
Я хотел бы, чтобы удалить всех пользователей, которые имеют определенное число с sequelize телефона. Еще лучше, удалите всех пользователей, у которых есть один из массивов телефонных номеров.