Instanz mit einer Assoziation in Sequelize erstellen

10

Mit Sequelize habe ich zwei Modelle erstellt: User und Login .

Benutzer können mehr als eine Anmeldung haben, aber eine Anmeldung muss genau einen Benutzer haben, was bedeutet, dass eine Anmeldung nicht ohne eine Benutzer-ID gespeichert werden kann.

Wie kann ich .create eine Anmeldung mit einer Benutzervereinigung auf einen Schlag machen?

Aktueller Code (funktioniert nicht)

%Vor%

Die obigen Ergebnisse in SequelizeValidationError: notNull Violation: UserId cannot be null

    
slifty 01.05.2015, 22:08
quelle

5 Antworten

6

In Ihrem .then empfängt der Callback die Modellinstanz, die beim vorherigen Aufruf erstellt wurde. Sie müssen das Argument innerhalb der Callback-Funktion angeben.

%Vor%

Auch etwas wichtiges, auf das ich hinweisen möchte, sind Ihre fehlenden var Statements! Diese sind wichtig, aber nicht mit dieser Frage verbunden. Siehe Variablen ohne var-Schlüsselwort deklarieren

    
Calvintwr 03.05.2015, 17:25
quelle
30

Angenommen, Sie haben die richtige Verbindung zwischen Benutzern und Login, Sie können einfach einen Benutzer mit einem Login erstellen:

%Vor%

Hier finden Sie weitere Informationen: Ссылка

    
Arwed Mett 25.08.2016 21:01
quelle
9

Zuerst müssen Sie die Beziehungen auf beide Arten einrichten, wie folgt:

%Vor%

Dann müssen Sie die durch die Versprechungen zurückgegebenen Instanzen ordnungsgemäß abrufen:

%Vor%     
Matheus Dal'Pizzol 05.05.2015 03:23
quelle
0

Ich habe kürzlich das gleiche Problem! Ich habe einen Tippfehler mit der Fremdschlüsselkonfiguration. Verwenden Sie field anstelle von name verursachte das Problem.

Die Änderung unten wird es beheben.

%Vor%     
Quy Tang 04.03.2017 09:19
quelle
0

Ein Update auf @Arwed Metts Antwort

%Vor%

Referenzlink - Ссылка

    
Kshateesh 19.03.2018 06:19
quelle

Tags und Links