Wednesday, 31 May 2017

where: "raw query" has been removed, please use where ["raw query", [replacements]]

Unhandled rejection Error: where: "raw query" has been removed, please use where ["raw query", [replacements]]

I've encountered following above message when I've rendered following code. Because it's dynamic where clause based on what user search:

var queryWhere = {id: {$ne: null}};
if (req.query) {
    if (req.query.gender && req.query.gender !== '') {
        searchGender = "gender = '" + req.query.gender + "'";
    } else if (req.query.gender && req.query.gender === '') {
        searchGender = "gender IS NOT NULL ";
    }
    if (req.query.experience && req.query.experience !== '') {
        searchExperience = "experience = '" + req.query.experience + "'";
    } else if (req.query.gender && req.query.experience === '') {
        searchExperience = "experience IS NOT NULL ";
    }
    queryWhere = {
        $and: [
            {$or: [
                searchGender,
                searchExperience]}
        ]
    };

    models.Users.findAll({
        offset: numPerPage * 50, 
        limit: 50,
        where: queryWhere,
        include: [
            {model: models.Users_Answers}
        ],
        order: [
            [models.Sequelize.col('id'), 'ASC'],
            [models.Users_Answers, 'id', 'ASC']
        ]
    }).then(function(answers) {
        res.render('answers', {answers: answers, search: req.query.searchParam, moment: moment, pagesize: (numPerPage+1), total: totalCount / 50});
    });
} else {
    res.render('answers');
}

Please kindly let me know how to fix it. Thanks.



via ppshein

No comments:

Post a Comment