我遇到了一个非常奇怪的问题,当我尝试调用函数 findAll 时,它工作正常(创建和销毁相同),但是当我尝试调用函数“findById”时,它会抛出“findById 不是函数”(与“FindOne”相同)。
//works fine
var gammes = models.gamme.findAll().then(function(gammes) {
res.render('admin/gammes/gestion_gamme',{
layout: 'admin/layouts/structure' ,
gammes : gammes,
js: "gammes"
});
});
// throws models.gamme.findById is not a function
models.gamme.findById(req.params.id).then(function(gamme) {
gamme.update({
nom: req.body.nom
}).then(function () {
res.redirect("/gammes");
})
});
Gamme.js 模型
module.exports = function (sequelize, DataTypes) {
"use strict";
var gamme = sequelize.define('gamme', {
id_gamme: {
type: DataTypes.INTEGER.UNSIGNED,
autoIncrement: true,
primaryKey: true
},
nom: {
type: DataTypes.STRING,
allowNull: false
}
}, {
classMethods: {},
timestamps: false
});
return gamme;
};
在 Sequelize v5 中,findById() 被 findByPk() 取代。使用 findByPk 替换 findById ,一切都应该正常工作。您可以找到查询文档here https://sequelize.org/master/manual/model-querying-finders.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)