【发布时间】:2018-06-12 12:11:31
【问题描述】:
我是 sequelize 的新手,每次创建新的“Rider”时,我都会尝试将名称的第一个字母大写,以便在我的桌子上看起来大写。我没能做到:
这是我的模型:
const db = require("./db");
const Sequelize = require("sequelize");
//(w / WSL ranking, Last tournament won, Country, favorite wave, current board).
const Rider = db.define("rider", {
name: {
type: Sequelize.STRING,
allowNull: false
},
country: Sequelize.STRING,
wsa: {
type: Sequelize.INTEGER,
allowNull: false
},
currentBoard: {
type: Sequelize.STRING,
allowNull: false
},
favWave: Sequelize.STRING,
lastTournamentWon: Sequelize.STRING,
img: {
type: Sequelize.TEXT,
defaultValue:
"no_found.png"
}
});
Rider.beforeCreate = () => {
return this.name[0].toUpperCase() + this.name.slice(1);
}
module.exports = Rider;
当我创建新行时,名称没有大写,我无法找出原因?我必须传递一个实例和一个回调函数作为我的钩子的参数吗?
【问题讨论】:
-
你必须在 beforeCreate 函数中传递模型并且你必须返回一个 promise,因为它是一个异步函数。这可能会有所帮助:stackoverflow.com/questions/31427566/…
标签: sequelize.js hook