gpt4 book ai didi

sqlite - Sequelize 生成的列 sqlite

转载 作者:行者123 更新时间:2023-12-03 22:37:56 26 4
gpt4 key购买 nike

我在 sqlite 中的表有四列 a、b、c、d。
c 中的值是 a-bda+b

我定义我的模型

const myModel = sequelize.define('mymodel', {a:Sequelize.INTEGER,b:Sequelize.INTEGER,c:Sequelize.INTEGER,d:Sequelize.INTEGER}

并创建一个对象,如
var myModelObj = {a:10, b:20, c:function(){return this.a - this.b}, d:function(){return this.a + this.b}

然后在 db 中创建数据,例如
myModel.create(myModelObj);

当我这样做时,它很好。但我正在寻找一种方法,可以在模型定义本身中定义 c、d 的值生成器。有没有办法做到这一点。

最佳答案

如前所述 in the docs 您可以定义 getter 和 setter

const myModel = sequelize.define(
'mymodel',
{
a:Sequelize.INTEGER,
b:Sequelize.INTEGER,
c: {
Sequelize.INTEGER,
get() {
const a = this.getDataValue('a');
const b = this.getDataValue('b');
return a-b;
},
set() {
const a = this.getDataValue('a');
const b = this.getDataValue('b');
return a-b;
},
},
d: {
Sequelize.INTEGER,
get() {
const a = this.getDataValue('a');
const b = this.getDataValue('b');
return a+b;
},
set() {
const a = this.getDataValue('a');
const b = this.getDataValue('b');
return a+b;
},
},
}
);

关于sqlite - Sequelize 生成的列 sqlite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55683517/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com