2017-02-20 3 views
0

Ich versuche, eine Benachrichtigung für Benutzer zu erstellen.get ID 'ID' vor dem Erstellen/Speichern | Sails Js

mit Benachrichtigung URL in Beschreibung wie diese http://localhost:1337/invited/accept?referrer=msgIcon&id=this-notification-id die URL hat ID dieser neu erstellten Benachrichtigung.

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()> 

Ich möchte einen Link in der Beschreibung mit dieser neu erstellten Benachrichtigung speichern. aber es gelang mir nicht. bitte hilf mir.

+1

Sie kann das tun. Die ID stammt aus der Datenbank, daher ist sie nur im Rückruf verfügbar. Sie können es direkt nach der Erstellung aktualisieren. '' 'appuserNotifications.description = 'Ihr Name mit ID'; appuserNotifications.save() '' ' – Bonanza

Antwort

1

Von Standard, id wird von Datenbank während der Datensatzerstellung generiert. So kann nur nach der Erstellung zugegriffen werden.

Hier sind einige Möglichkeiten, in dem Ihr Ziel erreicht werden kann:

  1. Neues Attribut: ein weiteres einzigartiges Attribut hinzufügen, die in der Beschreibung URL verwendet wird. Es kann nach dem Zufall vor der Schöpfung erzeugt werden (zum Beispiel kann UUID verwenden)
  2. Verwenden Sie benutzerdefinierte ID: Set autoPK: false in Modell, erzeugt id selbst; (Ich habe es für MySQL getan in beforeCreate Haken mit UUID als Primärschlüssel id, nicht sicher MongoDB)
  3. -Update erstellen, nachdem: Verwenden Sie afterCreate Haken Beschreibung aktualisieren mit id
  4. New Model Methode: a Definieren Methode sagen getDescription() in dem Modell, das etwas wie this.description + this.id zurückgibt.
  5. Aufschalten toJSON(): http://sailsjs.com/documentation/reference/waterline-orm/records/to-json
+0

Dies ist hilfreich, aber suchen Sie zum Beispiel zu beschreiben, get ID beim Erstellen –