有没有办法在Geddy模型中定义虚拟字段?

时间:2013-10-31 15:16:09

标签: node.js geddy

是否可以在geddy模型中定义临时字段/虚拟字段?

在表单中,我使用输入字段tmpFirstNametmpLastName,但在提交时,我希望将信息存储在一列name中。

由于

1 个答案:

答案 0 :(得分:1)

使用新的生命周期方法可以轻松实现这一点(感谢您!)。

在您的控制器中:

  this.create = function (req, resp, params) {
    var self = this
      , person = geddy.model.Person.create(params);

    person.firstname = params.firstname;
    person.lastname = params.lastname;

    if (!person.isValid()) {
      this.respondWith(person);
    }
    else {
      person.save(function(err, data) {
        if (err) {
          throw err;
        }
        self.respondWith(person, {status: err});
      });
    }
  };

在你的模特中:

  this.defineProperties({
    name: {type: 'string'}
  });

  this.beforeSave = function () {
    this.name = this.firstname + ' ' + this.lastname;
  }

请注意,您没有声明“虚拟”属性,否则geddy会将它们存储在数据库中。