【发布时间】:2017-04-21 05:54:40
【问题描述】:
我的团队成员模型:-
var teamMember = {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
level: DataTypes.INTEGER,
supervisorId: {
type: DataTypes.INTEGER,
references: {
model: "employees",
key: "id"
}
},
employeeId: {
type: DataTypes.INTEGER,
unique: true,
references: {
model: "employees",
key: "id"
}
}
还有员工模式
映射:-
db.employee.hasOne(db.teamMember);
db.teamMember.belongsTo(db.employee);
我的查询函数
db.teamMember.findOne({
where: { employeeId: req.employee.id },
include: [db.employee]
})
.then(teamMember => {
if (!teamMember) {
throw ('no teamMember found');
}
consol.log(teamMember)
})
我的 teamMember 表就像=
id------employeeId-----supervisorId
2 ------------ 4 ------------- 5
问题是 - :所以当我在 teamMember 中询问其employeeId 为 4 的行时,它应该包含在 supervisorId(JOIN) 中,并且它返回包含 4 (id) 的员工的行。我想要第 5 个 ID 的员工。
supervisorId 和employeeId 都参考员工表。
【问题讨论】:
标签: node.js sequelize.js