当前位置:  开发笔记 > 编程语言 > 正文

sequelize"findbyid"不是一个功能,但显然是"findAll"

如何解决《sequelize"findbyid"不是一个功能,但显然是"findAll"》经验,为你挑选了1个好方法。

我在sequelize中遇到一个非常奇怪的问题,当我尝试调用函数findAll时,它工作正常(同样适用于create和destroy),但是当我尝试调用函数"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;
};

小智.. 54

使用Sequelize v5,findById()被findByPk()取代.使用findByPk替换findById,一切都应该正常工作.



1> 小智..:

使用Sequelize v5,findById()被findByPk()取代.使用findByPk替换findById,一切都应该正常工作.

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有