【发布时间】:2021-04-30 14:10:36
【问题描述】:
我需要将一个 SQL 参数转换为 Sequelize
SELECT `WeekHours`.`id_weekhours` AS `idWeekhours`, `WeekHours`.`hour`, `WeekHours`.`week_day` AS `weekDay`
FROM `week_hours` AS `WeekHours`
LEFT OUTER JOIN `user_schedule` AS `UserSchedule`
ON `WeekHours`.`id_weekhours` = `UserSchedule`.`id_weekhours` AND `UserSchedule`.`date` = '2021-05-03'
WHERE `UserSchedule`.`id_weekhours` IS NULL AND `WeekHours`.`week_day` = 'Monday';
我在 sequelize 中创建了这个:
await WeekHours.findAll({
attributes: ['hour', 'weekDay'],
where: {
idWeekhours: {
[Op.eq]: null
},
weekDay,
},
include: [{
attributes: [],
model: UserSchedule,
where: {
date,
},
required: false,
}],
})
但我明白了:
SELECT `WeekHours`.`id_weekhours` AS `idWeekhours`, `WeekHours`.`hour`, `WeekHours`.`week_day` AS `weekDay`
FROM `week_hours` AS `WeekHours`
LEFT OUTER JOIN `user_schedule` AS `UserSchedule` ON `WeekHours`.`id_weekhours` = `UserSchedule`.`id_schedule` AND `UserSchedule`.`date` = '2021-05-03'
WHERE `WeekHours`.`id_weekhours` IS NULL AND `WeekHours`.`week_day` = 'Monday';
我遇到的问题是:
错误:
`WHERE `WeekHours`.`id_weekhours
正确:
`WHERE `UserSchedule`.`id_weekhours
错误:
`ON `WeekHours`.`id_weekhours` = `UserSchedule`.`id_schedule
正确:
`ON `WeekHours`.`id_weekhours` = `UserSchedule`.`id_weekhours
【问题讨论】:
标签: sql node.js sequelize.js