gpt4 book ai didi

sequelize.js - Sequelize 查询由 $and 连接的 2 个函数

转载 作者:行者123 更新时间:2023-12-03 22:24:51 24 4
gpt4 key购买 nike

我试图连接两个条件,但到目前为止我无法弄清楚语法:

models.trees.findOne({
where: {
state: {
[sequelize.Op.eq]: "Publish",
},
$and:
[sequelize.where(sequelize.fn("MONTH", sequelize.fn("CURRENT_DATE")), sequelize.fn("MONTH", sequelize.col("createdAt"))),
sequelize.where(sequelize.fn("YEAR", sequelize.fn("CURRENT_DATE")), sequelize.fn("YEAR", sequelize.col("createdAt")))],
userId: {
[sequelize.Op.eq]: id
},
},
attributes: [
[sequelize.fn("COUNT", sequelize.col("userId")), "count_trees"]
]
});
问题在于 $and 中的两个条件,仅应用了后者,我尝试用 {} 将不同的条件括起来,但它引发了语法错误。
知道如何将两个函数应用于过滤器的位置吗?
谢谢

最佳答案

您可以使用 sequelize.and 将多个 sequelize.where 与如下函数组合在一起:

where: sequelize.and(
sequelize.where(sequelize.fn('date_part', 'year', sequelize.col('start_date)), '<=', year),
sequelize.or(
sequelize.where(sequelize.fn('date_part', 'year', sequelize.col('end_date')), '>=', year),
sequelize.where(sequelize.col('end_date'), 'is', null)
)
)

关于sequelize.js - Sequelize 查询由 $and 连接的 2 个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65217188/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com