我有四个modelDBList: AlarmsDB,MonitorSpotDB,MonitorGroupDB,UserDB
这些modelDB引用为列表:
AlarmDB.belongsTo(MonitorSpotDB);
MonitorSpotDB.belongsTo(MonitorGroupDB);
MonitorGroupDB.hasMany(MonitorSpotDB);
UserDB.belongsToMany(MonitorGroupDB, { through: MonitorGroupUserDB});
MonitorGroupDB.belongsToMany(UserDB, { through: MonitorGroupUserDB,});
现在我想获得相关用户的警报,所以我使用sequelize写代码,如:
public async getAlarms(limit: number, offset: number, whereQuery: any, whereUser: any): Promise<{ count: number, rows: Alarm[] }> {
let alarms = await AlarmDB.findAndCount({
limit: limit,
offset: offset,
order: [
["createdAt", "desc"],
],
where: whereQuery,
include: [
{
model: MonitorSpotDB, as: "monitorSpot", attributes: ["id", "name", "monitorGroupId"], required: true,
include: [{
model: MonitorGroupDB, as: "monitorGroup", attributes: ["id", "name"], required: true,
include: [{ model: UserDB, as: "users", attributes: ["id", "name"], where: whereUser }],
}],
},
],
});
return alarms;
}
但我得到空数组,如果我删除
include: [{ model: UserDB, as: "users", attributes: ["id", "name"], where: whereUser }],