【发布时间】:2021-03-24 09:09:45
【问题描述】:
我有两个模型用户,CandidateExperience 所以当我加入两个表时它不起作用。
我必须在用户模型中添加关联
module.exports = (sequelize, DataTypes) => {
const Users = sequelize.define('Users', {
name: {type: DataTypes.STRING},
lName: {type: DataTypes.STRING},
email: {type: DataTypes.STRING},
}, {
hooks: {},
underscored: true
});
Users.associate = function (models) {
Users.hasMany(models.CandidateDetails, {
as: 'CandidateDetails',foreignKey: 'userId',constraints: false
})
Users.hasMany(models.CandidateExperience, {
as: 'CandidateExperience',foreignKey: 'userId',constraints: false
})
};
return Users;
};
候选体验模型
module.exports = (sequelize, DataTypes) => {
const CandidateExperience = sequelize.define('CandidateExperience', {
candidate_exp_id: {type: DataTypes.UUID,primaryKey: true},
companyName: { type: DataTypes.STRING},
designation: {type: DataTypes.STRING}
}, {
underscored: true
});
CandidateExperience.associate = function (models) {
CandidateExperience.belongsTo(models.Users, {
as: 'User',foreignKey: 'userId',constraints: false})
};
return CandidateExperience;
};
但是如果我使用这个查询它会给我错误
return models.Users.findAll({
where: {userType:'engineer'},
include: [
{ model: models.CandidateExperience, as: "experienceDetail" ,
required: false},
]
});
【问题讨论】:
标签: node.js join sequelize.js