作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在 sequelize 中过滤子(关联)或父表?
我想按 child 的创建日期选择数据,但如果父表没有 child ,我想按 parent 的创建日期选择。
所以我需要过滤器来比较父字段和子字段。
例如:
有没有办法在不使用文字的情况下使用 sequelize 执行以下查询?
SELECT * FROM owner, car
WHERE (car.owner_id IS NULL AND car.created_at=NOW())
OR (car.owner_id IS NOT NULL AND owner.created_at=NOW())
where: {
[Op.or]: {
[Op.and]: {
owner_id: null,
created_at: {
[Op.between]: [startOfDay(searchDate), endOfDay(searchDate)],
},
},
[Op.and]: {
owner_id: { [Op.not]: null },
created_at: {
[Op.between]: [startOfDay(searchDate), endOfDay(searchDate)],
},
}
}
}
最佳答案
考虑到模型的名称是 Car
和 Owner
:
Owner.findAll({
include: [
{
model: Car
}
],
attributes: ['some_attribute', 'another_attribute'], //Filter attributes
where: {
[Op.or]: {
[Op.and]: {
'$Car.owner_id$': { [Op.is]: null },
'$Car.created_at$': {
[Op.between]: [startOfDay(searchDate), endOfDay(searchDate)],
},
},
[Op.and]: {
'$Car.owner_id$': { [Op.not]: null },
created_at: { // This attribute is referencing owner's created_at
[Op.between]: [startOfDay(searchDate), endOfDay(searchDate)],
},
}
}
}
})
Car
,看看它是否适合您。
关于sequelize.js - 如何在 sequelize 上过滤关联表或父表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60457394/
我正在使用 Sharepiont,它吐出的代码充其量是困惑的。 我在一个表中有一个 div 的 ID,该表在另一个表中,我需要获取父表的父表。 这是我正在使用的 JsFiddle: http://js
我是一名优秀的程序员,十分优秀!