У меня есть модели User
и VerifyToken
с атрибутами token
и user_id
. Мне нужно выбрать пользователя, но со значением token
(из tokens
таблицы).
Я пытался:
await models.User.destroy({
hierarchy: true,
where: {
token: token
}
});
Это модель пользователя:
const VerifyToken = require('./verifyToken');
module.exports = (sequelize, DataTypes) => {
const User = sequelize.define('User', {
password: DataTypes.STRING,
email: DataTypes.STRING,
}, {
tableName: 'users',
//syncOnAssociation: true
hierarchy: true
});
User.associate = function (models) {
const {VerifyToken} = models;
User.hasOne(VerifyToken, {
onDelete: 'CASCADE'
});
};
return User;
};
И VerifyToken
модель:
const User = require('./user');
module.exports = (sequelize, DataTypes) => {
const VerifyToken = sequelize.define('VerifyToken', {
user_id: DataTypes.INTEGER,
token: DataTypes.STRING,
}, {
tableName: 'verify_tokens',
syncOnAssociation: true,
hierarchy: true
});
VerifyToken.associations = function (models) {
const {User} = models;
VerifyToken.belongsTo(User);
};
return VerifyToken;
};
Проблема в том, что я даже не знаю с чего начать. Я пытался с include:[{model: models.VerifyToken, where: {}}]
, но как использовать user_id
, вызываемый из дочерней модели?
Я хочу выбрать пользователя (родительскую модель) со значением (токен в дочерней модели) и удалить это одним запросом.