2017-02-20 51 views
0

我想爲用戶創建一個通知。在創建/保存|之前獲得記錄`id`風帆Js

與此類描述中的通知網址http://localhost:1337/invited/accept?referrer=msgIcon&id=this-notification-id此網址具有此新創建通知的ID。

AppUserNotification.create({ 
    projectId: projectId, 
    appuser: appusers.id, 
    notificationTitle: 'You are invited in project', 
    isRead: 0, 
    description: 'You are invited in project collaboration, ' 
    + 'please accept invitation by following the link.\nHave a good day !\n' 
    + 'Accept Invitation http://localhost:1337/invited/accept?referrer=msgIcon&id=this-notification-id', 
    }).exec(function (err, appuserNotifications) { 
    apiStatus = 1; // heading toward success 
    if (err){ 
     return false; 
    }else if(appuserNotifications){ 
     return true; 
    } 
    });//</after AppUserNotification.create()> 

我想要做的就是用這個新創建的通知保存描述中的鏈接。但無法做到這一點。 請幫助我。

+1

你不能做到這一點。 Id來自數據庫,因此它只能在回調中訪問。您可以在創建後立即更新它。 '''appuserNotifications.description ='你的帶ID的desc'; appuserNotifications.save()''' – Bonanza

回答

1

通過默認,id在創建記錄時由數據庫生成。所以只能在創建後才能訪問。

這裏有一些方法,使你的目標可以實現:

  1. 新屬性:添加這是在描述URL使用另一種獨特的屬性。它可以隨機生成創建之前(例如,可以使用UUID
  2. 使用自定義ID:模型設置autoPK: false,產生id自己;使用afterCreate鉤與id
  3. 新模型方法更新說明:定義一個
  4. 更新創建後(我在beforeCreate鉤使用UUID作爲主鍵id,約MongoDB的不知道做了它爲MySQL)方法在模型中說getDescription()返回類似this.description + this.id
  5. 覆蓋toJSON()http://sailsjs.com/documentation/reference/waterline-orm/records/to-json
+0

這很有幫助,但是查找示例在創建時描述了獲取ID –

相關問題