検索

ホームページ  >  に質問  >  本文

node.js - sequelize查询语句时转成的MYSQL语句中表名并不是自己定义的?

我在查询数据库时,定义的模板是:

module.exports = function(sequelize,Sequelize){

var User = sequelize.define('userinfo',{
            id:{
                type: Sequelize.FLOAT,
                primaryKey: true
            },
            name:{
                type:Sequelize.STRING
            } ,
            password :{
                type: Sequelize.STRING
            },
            email :{
                type: Sequelize.STRING
            } ,
            phone :{
                type: Sequelize.STRING
            },
            qq :{
                type: Sequelize.STRING
            },
            ifmanager:{
                type: Sequelize.BOOLEAN
            }
        });
return User;

}

然后进行调用:
var User = require('./module/userinfo')(sequelize,Sequelize);

var result = yield User.findAll({
    attributes:['password'],
    where:{
        name:name
    }
});
console.log(result);

但最终控制台打印出的MYSQL语句是
SELECT password FROM userinfos AS userinfos WHERE userinfos.name = 'jession'
请问userinfos是怎么来的?

PHP中文网PHP中文网2875日前504

全員に返信(1)返信します

  • PHP中文网

    PHP中文网2017-04-17 16:10:03

    実際には、定義されたモデルに実際のテーブル名を設定できます。sequelize.define の 3 番目のパラメーターは、tableName を設定できる json オブジェクトです。具体的な使用方法については、sequelize 公式ドキュメントを参照してください。 🎜>

    返事
    0
  • キャンセル返事