是否可以在geddy模型中定义临时字段/虚拟字段?
在表单中,我使用输入字段tmpFirstName
和tmpLastName
,但在提交时,我希望将信息存储在一列name
中。
由于
答案 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会将它们存储在数据库中。