Sequelize.js Sequelize-包含模块,而where子句是可选的
男人的支持很差 我正在尝试获取所有行并包含另一个表,其中Sequelize.js Sequelize-包含模块,而where子句是可选的,sequelize.js,Sequelize.js,男人的支持很差 我正在尝试获取所有行并包含另一个表,其中where子句是可选的 给出下表(我知道它有错误,只是为了演示) 我想获取所有事件,包括它们的发生,而occurrence.date>现在或事件根本没有发生 到目前为止,我已经尝试了几种方法: const query = { where: {}, include: { model: Occurrence, where: { date: { [
where
子句是可选的
给出下表(我知道它有错误,只是为了演示)
我想获取所有事件,包括它们的发生,而occurrence.date>现在
或事件根本没有发生
到目前为止,我已经尝试了几种方法:
const query = {
where: {},
include: {
model: Occurrence,
where: {
date: {
[Op.or]: {
[Op.eq]: null,
[Op.gte]: Date.now(),
}
},
},
//required: false
}
}
const rows = await Event.findAll(query);
添加
required:false
将简单地忽略所有事件,并简单地返回所有事件。如果一个事件的事件.date
是过去的,它不应该选择该事件,但是它会选择并忽略该事件。在包含的模型中具有where条件在联接查询中插入带有ON
短语的条件,但是在执行联接后,我们需要它在where条件中。因此,解决方案是不要在包含的模型旁边给出where条件,并在主findAllquery
where
对象中提及它
const查询={
其中:{
[作品及]:{
“$Occurrence.date$”:{
[点评]:{
[Op.eq]:空,
[Op.gte]:日期现在(),
}
}
}
},
包括:{
模式:发生,
必填项:false
}
}
参考:
const query = {
where: {},
include: {
model: Occurrence,
where: {
date: {
[Op.or]: {
[Op.eq]: null,
[Op.gte]: Date.now(),
}
},
},
//required: false
}
}
const rows = await Event.findAll(query);