Sequelize.js Sequlize js如何基于当前日期进行日期比较
在phpMyAdmin上执行此操作会给我一个记录Sequelize.js Sequlize js如何基于当前日期进行日期比较,sequelize.js,Sequelize.js,在phpMyAdmin上执行此操作会给我一个记录 SELECT * FROM `banners` WHERE region_id = 1 AND status= 'approved' and approved_date = CURRENT_DATE; 但我试着用Sequalize实现同样的目标 const banners = await db.banners.findAll({ where: { region_id: id, status: "app
SELECT * FROM `banners` WHERE region_id = 1 AND status= 'approved' and approved_date = CURRENT_DATE;
但我试着用Sequalize实现同样的目标
const banners = await db.banners.findAll({
where: {
region_id: id,
status: "approved",
approved_date: new Date()
}
});
当我跟踪查询时
选择id
,路径
,到期日期
,状态
,费用
,备注
,批准日期
,地区id
,
餐厅id
,是付费的
,创建数据
,更新数据
来自横幅
作为横幅
其中横幅
区域id
=1和横幅
状态
=“已批准”和
横幅
批准日期=“2018-10-11 17:29:31”
我看到的问题是approved\u date
列数据类型是date,比较new date()
日期和时间。Sequalize中与当前日期相似的关键字是什么?如果要将字符串直接传递到
WHERE
条件,可以使用sequelize.literal
:
const banners = await db.banners.findAll({
where: {
$and: [
{
region_id: id,
status: "approved"
}
],
sequelize.where(
sequelize.fn('DATE', sequelize.col('approved_date')),
sequelize.literal('CURRENT_DATE')
)
}
});
如果要将字符串直接传递到
WHERE
条件,可以使用sequelize.literal
:
const banners = await db.banners.findAll({
where: {
$and: [
{
region_id: id,
status: "approved"
}
],
sequelize.where(
sequelize.fn('DATE', sequelize.col('approved_date')),
sequelize.literal('CURRENT_DATE')
)
}
});
这个答案同样有效
const banners = await db.banners.findAll({
where: {
region_id: id,
status: "approved",
approved_date: db.Sequelize.fn('CURRENT_DATE')
}
});
这个答案同样有效
const banners = await db.banners.findAll({
where: {
region_id: id,
status: "approved",
approved_date: db.Sequelize.fn('CURRENT_DATE')
}
});