使用导致SQL语法错误的变量添加限制



我想用变量动态添加limit,但它给了我一个错误。像这样的东西:

routes/api/post.js

..
// req.params.limit = 3
const limit = req.params.limit
models.post
.findAll({
subQuery: false,
order: [["createdAt", "DESC"]],
include: ["post_picture", "tags"],
limit
})
..

给了我一个错误

Unhandled rejection SequelizeDatabaseError: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the 
right syntax to use near ''3'' at line 1

如果我手动设置limit: 3,它会起作用,但这将是分页的噩梦。这是个bug还是我做错了什么?

limit强制转换为数字,因为它的类型是string

const limit = parseInt(req.params.limit);

最新更新