node.js - sequelize查询语句时转成的MYSQL语句中表名并不是自己定义的?
PHP中文网
PHP中文网 2017-04-17 16:08:03
[Node.js讨论组]

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

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中文网

认证0级讲师

全部回复(1)
PHP中文网

其实定义的模型里面可以设置真正的表名的,sequelize.define的第三个参数是一个json对象,可以在里面设置tableName,具体用法请参考sequelize官方文档

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号