使用sequlise,在数据库中定义的下划线字段,怎么实现输出的时候字段都是驼峰形式
underscored
underscored为true或者flase都尝试过了
field也不行
sql
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户id',
`username` varchar(255) DEFAULT NULL COMMENT '用户名',
`password` varchar(255) DEFAULT NULL COMMENT '用户密码',
`created_at` datetime DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime DEFAULT NULL COMMENT '更改时间',
`role_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
定义
'use strict';
module.exports = app => {
const { INTEGER, STRING, DATE } = app.Sequelize;
const User = app.model.define('user', {
id: {
type: INTEGER,
primaryKey: true,
autoIncrement: true,
},
username: {
type: STRING,
},
password: {
type: STRING,
},
created_at: DATE,
updated_at: DATE,
role_id: {
type: INTEGER,
field: 'roleId',
},
}, {
freezeTableName: true,
underscored: false,
});
User.associate = function() {
app.model.User.belongsTo(app.model.Role, { as: 'role' });
};
return User;
};
报错
2 回复
改为这样
const User = app.model.define(‘user’, { roleId: { type: INTEGER, field: ‘role_id’, }, })
@supperchong 感谢,有点问题再请教一下
- 一起查出了role_id,roleId,能不能过滤掉role_id
- 每个字段都要设置了,能不能统一设置一个表,或者整个数据库