作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Man Sequelize 的支持很糟糕。
我正在尝试获取所有行并包含另一个带有 where
的表子句是可选的。
给定下表(我知道它有错误,仅用于演示目的)。
var Event= sequelize.define('Event', {
name: string,
image: string
})
var Occurrence= sequelize.define('Occurrence', {
date: date,
eventId: number
})
//Association
Event.hasMany(Occurrence);
Occurrence.belongsTo(Event);
我想在
occurrence.date > now
时获取所有事件,包括它们的发生。或事件根本没有发生。
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
将简单地忽略所有事件并简单地返回所有事件。如果一个事件的
occurrence.date
过去它不应该选择该事件,但是它会选择并且只是省略了该事件。
最佳答案
在包含的模型中具有 where 条件插入条件为 ON
连接查询中的短语,但这里我们需要在执行连接后的 where 条件下使用它。
所以解决方案是不要在包含的模型旁边给出 where 条件,而是在主要的 中提及它。查找全部 查询 where
目的。
const query = {
where: {
[Op.and]: {
'$Occurrence.date$': {
[Op.or]: {
[Op.eq]: null,
[Op.gte]: Date.now(),
}
}
}
},
include: {
model: Occurrence,
required: false
}
}
引用:
https://sequelize.org/master/manual/eager-loading.html#complex-where-clauses-at-the-top-level
关于sequelize.js - Sequelize - 包含模块,而 where 子句是可选的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64713075/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!