【发布时间】:2018-07-05 09:25:26
【问题描述】:
我在使用我的 Sequelize js 模型属性上的 setter 函数时遇到问题。
我想要做的是,当一个属性被赋予一个值时,使用该值同时填充表中的另一个属性。
在我的模型中,这是我有问题的属性的代码...
date_time_paid: {
type:DataTypes.DATE,
set(val) {
const date = new Date(val);
this.setDataValue('date_time_paid', val); // set the the current property
this.setDataValue('month_paid', `${date.getFullYear()}-${(date.getMonth() + 1)}`); //also set another property on the same row
},
},
我期望发生的是date_time_paid 列存储原始值,month_paid 列存储从它派生的字符串。但是,当我运行播种机以使用测试数据填充表时,month_paid 列的值仍然为空。
- 这是对 setter 函数的正确使用吗?
- 如果是我做错了什么,是否意味着它不起作用?
【问题讨论】:
标签: javascript node.js database orm sequelize.js