Функция установки Sequelize.js не работает, как я ожидаю - PullRequest
0 голосов
/ 05 июля 2018

У меня проблемы с использованием функций сеттера в свойствах модели Sequelize js.

То, что я хочу сделать, - это когда одному свойству присваивается значение, использовать это значение для одновременного заполнения другого свойства в таблице.

В моей модели это код, который у меня есть для рассматриваемого свойства ...

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 остается нулевым.

  1. Это правильное использование функции сеттера?
  2. Если это то, что я сделал неправильно, значит, это не работает?

1 Ответ

0 голосов
/ 05 июля 2018

Я думаю, тебе нужен только добытчик. Забудьте о date_time_paid и сделайте геттер для month_paid:

get month_paid(){
    const date = new Date(this.date_time_paid);
    return `${date.getFullYear()}-${(date.getMonth() + 1)}`;
}
...