Sequelize сгенерированные столбцы sqlite - PullRequest
0 голосов
/ 15 апреля 2019

моя таблица в sqlite имеет четыре столбца a, b, c, d.

значение в c равно a-b, а d равно a+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}

, а затем создаю данные в БД как

myModel.create(myModelObj);

Когда я делаю какэто хорошо.Но я ищу способ определить генераторы значений c, d в самом определении модели.Есть ли способ сделать это.

1 Ответ

0 голосов
/ 16 апреля 2019

Как уже упоминалось в документах вы можете определить геттеры и сеттеры

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;
      },
    },
  }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...