2015-09-05 123 views
1

我想在我的sails應用程序中創建一個自定義屬性,並且我沒有在我的獲取調用中返回任何結果。在Sailsjs中創建自定義屬性

我的代碼看起來是這樣的:

module.exports = { 
    attributes: { 
     id: { 
      type: 'string', 
      primaryKey: true, 
      defaultsTo: function() { 
       return uuid.v4(); 
      }, 
      unique: true, 
      index: true, 
      uuidv4: true 
     }, 
     name: { 
      type: 'string', 
      required: true 
     } 
     fullName: function(){ 
      return this.name ; 
     } 


}; 

我找回所有的領域預計全名

+0

你的意思是「除了」而不是「期待」? – 2015-09-05 23:15:23

+0

是的,這就是我的意思 – iosdevnyc

回答

0

在我看來,sailsjs模型屬性僅基於創建相應的列,並獲得在數據庫中的列方式。在你的情況下,fullName沒有類型。所以它不知道從數據庫中得到什麼。

但是,如果你想要的是返回的json對象有一些額外的字段,你可以覆蓋toJSON函數來添加它。

module.exports={ 
    attributes: 
     id: { 
      type: 'string', 
      primaryKey: true, 
      defaultsTo: function() { 
       return uuid.v4(); 
      }, 
      unique: true, 
      index: true, 
      uuidv4: true 
     }, 
     name: { 
      type: 'string', 
      required: true 
     }, 
     toJSON:function(){ 
      var obj=this.toObject(); 
      obj.fullName=obj.name; 
      return obj; 
     } 
    } 
} 
0

這個問題是有點老了,但我有一個更好的答案:

module.exports = { 
     attributes: { 
     firstname : 'string', 
     lastname : 'string, 

     fullName: function() { 
      return this.firstname + ' ' + this.lastname 
     }   

     toJSON:function(){ 
      var obj  = this.toObject(); 
      obj.fullName = this.fullName() 
      return obj; 
     } 
     } 
    }