终于整理好了。最好的方法是用不同的数字为每个“as”键编号,这样当您进行 findAll include 调用时,您可以立即识别问题。我可能做了一些额外的工作,但它会产生与我的外键值相关的额外字段数据。
exports.adminUserList = (req, res) => {
console.log("usegfu")
users.findAll({
include: [{
model: diveLog, as: 'userID_FK1',
}, {
model: userRole, as: 'userRoleID_FK1',
}, {
model: article, as: 'userID_FK3',
}, {
model: posts, as: 'userID_FK7',
}, {
model: photos, as: 'userID_FK5',
}],
})
.then((users) => {
server.js - 匹配表模型的关联
diveLog.belongsTo(userLogin, { foreignKey: "userID", as: 'userID_FK', constraints: true, onDelete: 'cascade'});
userLogin.hasMany(diveLog, { foreignKey: "userID", as: 'userID_FK1',constraints: true, onDelete: 'cascade'});
article.belongsTo(userLogin, { foreignKey: "userID", as: 'userID_FK2',constraints: true, onDelete: 'cascade'});
userLogin.hasMany(article, { foreignKey: "userID", as: 'userID_FK3',constraints: true, onDelete: 'cascade'});
photos.belongsTo(userLogin, { foreignKey: "userID", as: 'userID_FK4',constraints: true, onDelete: 'cascade'})
userLogin.hasMany(photos, { foreignKey: "userID", as: 'userID_FK5',constraints: true, onDelete: 'cascade'});
posts.belongsTo(userLogin, { foreignKey: "userID", as: 'userID_FK6',constraints: true, onDelete: 'cascade'});
userLogin.hasMany(posts, { foreignKey: "userID", as: 'userID_FK7',constraints: true, onDelete: 'cascade'});