Das Problem:einen Datensatz und einen zugehörigen Datensatz in einem Rutsch
Stellen Ich habe zwei zugehörigen Modelle, Library
die vieleBook
s hat:
var Library = sequelize.define('Library', {
title: Sequelize.STRING,
description: Sequelize.TEXT,
address: Sequelize.STRING
});
var Book = sequelize.define('Book', {
title: Sequelize.STRING,
description: Sequelize.TEXT,
publish_date: Sequelize.DATE
});
Library.hasMany(Book);
Nun, um zu Erstellen Sie eine Library
und eine einzige zugehörige Book
, ich tun:
Die Frage:
Ist es möglich, ein Library
und eine Book
Instanz in einem Rutsch zu schaffen - in einem einzigen create()
Anruf?
So etwas (mehr wie ein Pseudo-Code):
Library.create({
name: 'Roan Library',
address: '123 Any St',
books: [
{
title: 'Reading with Time',
description: 'A fun jaunt in reading',
libraryId: library.id
}
]
});
Ohne die Identifikation mit des Elternelements ist die Beziehung unterbrochen. Also müssen Sie die Zeilen separat erstellen. Das Beste, was Sie tun können, ist, das Modell zu erweitern, indem Sie der Eigenschaft 'classMethods' eine Methode hinzufügen. Die Methode sollte dies hinter der Szene tun. Etwas wie 'Library.createAndThenCreateARelatedBook (...)' :) – undefined
Korrektur: Verwandte/Eltern-Zeile und nicht "Elternelement" (das hat natürlich nichts mit DOM zu tun). – undefined
@Vohuman Ich bin ziemlich neu zu sequelize, aber ich fürchte, Sie haben Recht - es macht im Allgemeinen Sinn. Fühlen Sie sich frei, es als Antwort zu posten. Vielen Dank. – alecxe