我正在尝试在SailsJS中建模现有的MSSQL表。不出所料,现有数据库中的表具有与SailsJS框架生成的类似的createdAt和updatedAt列。
有没有办法将SailsJS框架生成的属性值分配给我定义的属性?例如:
attributes: {
...
creationDate:{
columnName:'cre_dt',
type:'datetime',
defaultsTo: this.createdAt
}
...
}
答案 0 :(得分:22)
不,但您可以完全关闭自动生成的属性并使用您自己的属性:
autoCreatedAt: false,
autoUpdatedAt: false,
attributes: {
creationDate: {
columnName: 'cre_dt',
type: 'datetime',
defaultsTo: function() {return new Date();}
},
updateDate: {
columnName: 'upd_dt',
type: 'datetime',
defaultsTo: function() {return new Date();}
}
},
//Resonsible for actually updating the 'updateDate' property.
beforeValidate:function(values,next) {
values.updateDate= new Date();
next();
}
答案 1 :(得分:16)
您可以按以下方式重新映射:
var Game = Parse.Object.extend("Game");
var query = new Parse.Query(Game);
query.find({
success: function(results) {
$scope.$apply(function() {
$scope.games = results.map(function(obj) {
return {points: obj.get("points"), gameDate: obj.get("gameDate"), parseObject: obj};
});
});
},
error: function(error) {
console.log(error);
}
答案 2 :(得分:1)
现在可以使用autoCreatedAt
和autoUpdatedAt
为这些字段设置自定义名称,如http://sailsjs.com/documentation/concepts/models-and-orm/model-settings#?autocreatedat所述
如果设置为字符串,则该字符串将用作自定义 createdAt属性的字段/列名称。