spyrox
spyrox

Reputation: 130

pure query to sequelize

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

Answers (1)

Vivek Doshi
Vivek Doshi

Reputation: 58603

Just change .fn :

models.Sequelize.fn('curdate'), '+ interval 1 day')

to .literal :

models.sequelize.literal('curdate() + interval 1 day')

Upvotes: 1

Related Questions