Sequelize: Concat fields in WHERE LIKE clause

前端 未结 3 1707
无人及你
无人及你 2020-12-19 00:18

I am using the sequelize ORM for a node.js project I am working on. One query I have, I need to perform a like operation on the concatenated result of multiple columns.

3条回答
  •  北海茫月
    2020-12-19 01:08

    I was able to achieve this with the new sequelize version 5.21.13 based on @yjimk answer.

    Users.findAll({
      where: {
        [sequelize.Op.or]:{
         namesQuery: sequelize.where(
          sequelize.fn(
            "concat",
            sequelize.col("firstName"),
            " ",
            sequelize.col("lastName")
          ),
          {
            [sequelize.Op.like]: `%${req.body.query}%`,
          }
        ),
        email: {[sequelize.Op.like]: `%${req.body.query}%`},
        companyName: {[sequelize.Op.like]: `%${req.body.query}%`},
      }
    })
    

提交回复
热议问题