javascript - Mysql:sequelize 查询返回空结果

标签 javascript mysql node.js sequelize.js

这是我的原始查询

select * from USER where concat_ws(' ',firstName,lastName) 
like '%ammu sudev%' OR email LIKE "%ammu sudev%"

序列化查询

Users.findAll({
    where: {
        $or: [
        Sequelize.where(Sequelize.fn('concat_ws', Sequelize.col('firstName'), ' ', Sequelize.col('lastName')), {
            like: '%' + keyword + '%'
        }),
            { email: { $like: '%' + keyword + '%' } },
            { company: { $like: '%' + keyword+ '%' } }
        ]
    }
}).then((result)=>{
    console.log("Query",result);
    callback(result);
}).catch((error)=>{
    console.log("Error",error);
    callback(false);
})

但它返回空结果,但行查询返回正确的结果

最佳答案

我认为你需要更改此行

like: '%' + keyword + '%'

$like: '%' + keyword + '%'

Sequelize.where 内。

关于javascript - Mysql:sequelize 查询返回空结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49875779/

相关文章:

JavaScript - 将偶数索引数组元素乘以 2 并将奇数索引数组元素乘以 3

php - 将结果集添加到现有结果集

mysql - 具有两个外键的表的 sql 到同一个表导致笛卡尔积

javascript - Heroku:NodeJS Express 服务器无法提供图像

javascript - 每隔一个元素添加 Class,从第一个元素开始计数

javascript - Fabric.js - 带有矩形的动态裁剪区域

javascript - lightSlider 中的 lightGallery - 'onSliderLoad' 的 Slider.prepend() 不工作

mysql - sql从字段中删除点和逗号

javascript - 调用多个 Google Cloud Run 请求是否会调用容器的新实例

node.js - Kubernetes 通过基于时间的触发器扩展 pod