2017-01-22 9 views
0

Возможно ли, чтобы в Sequelize.js было отображено поле модели для объекта (хэш, карта, что угодно) при сопоставлении с отдельными столбцами БД? Например, что-то вроде следующего:Отображение свойств объекта Sequelize для нескольких полей

sequelize.define(
    'user', 
    { 
     ..., 
     name: { 
      first: { 
       field: "first_name", 
       type: sequelize.STRING, 
       allowNull: false 
      }, 
      middle: { 
       field: "middle_name", 
       type: sequelize.STRING 
      }, 
      last: { 
       field: "last_name", 
       type: sequelize.STRING 
      } 
     }, 
     ... 
    } 
) 

Это позволит вам делать такие вещи, как currentUser.name.first = "Sally" но будет отображаться в виде таблицы с отдельными столбцами для first_name, middle_name и last_name.

ответ

1

Вы можете определить метод получения

http://docs.sequelizejs.com/en/latest/docs/models-definition/#defining-as-part-of-the-model-options

var User = sequelize.define('user', { 
    first_name: Sequelize.STRING, 
    last_name: Sequelize.STRING 
}, { 
    getterMethods : { 
    name  : function() { return {first_name : this.first_name,last_name : this.last_name} } 
    } 
    } 
}); 
+0

Ах, конечно. И, предположительно, аналогичный метод настройки для установки имени. –