使用变量时 sequelize 的问题

problem on sequelize while using variable

我在使用变量时遇到 sequelize 错误

let article = await Article.findAll({
        offset:0,
        limit:5
      });

工作正常,但如果我 :

const {pageNumber,limit} = req.params;
    const offset = ((pageNumber-1) * limit);
    
    let article = await Article.findAll({
        offset,
        limit
      });

控制台记录偏移量和限制值显示通过路由给出的值。但是我在我的控制台上收到了这个错误

 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''5'' at line 1

提前致谢

你试过了吗? javascript 版本可能不允许您这样做。

let article = await Article.findAll({
    offset: offset,
    limit: limit
  });

如果这不起作用,您可以发布出现在控制台中的错误和生成的 sql,我可以为您提供更多帮助。

编辑:

尝试在数值限制前加+。 limit 接收一个整数作为值:+req.params.limitparseInt(req.params.limit)

在设置值之前将 limit 解析为整数,或者在 sequelize 中使用它之前将其解析为整数,例如

limit = parseInt(limit,10);