Reputation: 130
i would like someone to help me with this query to convert it on sequelize, i tried but without success.
SELECT id,name,startdate FROM ?? where DATE(startdate) = curdate() + interval 1 day order by ut desc;
My approach:
where: models.Sequelize.where(models.Sequelize.fn('DATE', models.Sequelize.col('startdate')), models.Sequelize.fn('curdate'), '+ interval 1 day'),
attributes: ['name', 'startdate']
Error that i face is here
Executing (default): SELECT `name`, `startdate` FROM `event` AS `event` WHERE DATE(`startdate`) [object Object] '+ interval 1 day';
if i try without this ,'+ interval 1 day' on this approach models.Sequelize.where(models.Sequelize.fn('DATE', models.Sequelize.col('startdate')), models.Sequelize.fn('curdate')
it works but i need to add a interval.
Upvotes: 1
Views: 295
Reputation: 58603
Just change .fn
:
models.Sequelize.fn('curdate'), '+ interval 1 day')
to .literal
:
models.sequelize.literal('curdate() + interval 1 day')
Upvotes: 1