TypeError: Cannot read property 'findAll' of undefined (expressjs)

前端 未结 4 1879
礼貌的吻别
礼貌的吻别 2021-01-03 07:16

TypeError: Cannot read property \'findAll\' of undefined (expressjs).

All functions (sequelize) are not working. All errors: Cannot rea

4条回答
  •  鱼传尺愫
    2021-01-03 07:50

    I had the same issue, and the changes below worked for me. This might be useful for future users -

    when you use the sequelize model you need to use the defined model class name, which is "user" instead of "User" in line findAll:

    models  = require('./../models');
    exports.index = function (request, response, next) {
        models.user.findAll({attributes: ['id', 'username']});
    };
    

    The "User" is a variable to which the sequelize definition is assigned and its not recognized outside that model definition. The "user" is the table name that is getting created as well as the sequelize model class name, and this needs to be used in any type of db query.

提交回复
热议问题