sequelize Holen Verbänden zu finden (1.6)
sequelize 1.6 hat Folgendes im changelog:
[FEATURE] Hinzugefügt association prefetching für find und findAll
Die Frage ist, WIE?
Habe ich folgende Modelle definiert:
var self = {
Medium: client.define("Medium", {
name: Sequelize.STRING,
description: Sequelize.TEXT
},
User: client.define("User", {
firstName: Sequelize.STRING,
lastName: Sequelize.STRING,
email: Sequelize.STRING,
aboutArt: Sequelize.TEXT,
bio: Sequelize.TEXT,
password: Sequelize.STRING,
description: Sequelize.TEXT
}
};
self.User.hasMany(self.Medium, { as: 'Media' });
self.Medium.hasMany(self.User);
for(var key in self){
var model = self[key];
model.sync();
}
später, als ich die Holen einen user wie diesen:
User.find(id)
.success(function(record) {
//record has no media!
})
die Benutzer-Instanz nicht über eine Liste von Medien. Wie kann ich auto Holen Verbänden?
InformationsquelleAutor mkoryak | 2012-10-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
BTW: Jetzt, Sequelize 1.6.0 ist, die syntax, die für das eager loading hat sich etwas geändert:
So dass Sie zu Durchlaufen haben, die Modell statt des Modells der name der include-Anweisung.
Gibt es eine Möglichkeit, das Feld name statt? Das wäre sehr nützlich, vor allem, wenn man bedenkt, dass Sie getrennte Felder auf die gleiche Tabelle verweisen.
Ich kann nicht scheinen, um diese arbeiten:
Item.hasOne(Item, { foreignKey: 'parentAid', as: 'Parent' })
. Es sagtError: Item is not associated to Item!
, obwohl ich bekam:Item.hasOne(Item, { foreignKey: 'parentAid', as: 'Parent' })
InformationsquelleAutor sdepold
sdepold tatsächlich schrieb den code, aber ich glaube, der syntax, ließ er sich auf für von mit ist:
InformationsquelleAutor dankohn
Die Antwort ist derzeit nur in dem code, den tests und ... mein Kopf 😀
Den Grund für die noch nicht verfügbaren Dokumentation iiiiiis die Tatsache, dass der release ist derzeit eine alpha-version.
InformationsquelleAutor sdepold