Ich habe mehrere Loopback-Modelle und möchte ihnen gemeinsame Funktionen hinzufügen. Ich bin nicht wirklich sicher, ob ich loopback extend
Ansatz verstehe, aber ich habe ein Dictionary
Modell erstellt, stellen Sie andere Modelle base
Eigenschaft auf Dictionary und steckte hier fest.Loopback-Elternmodell - wie Eigenschaften eingestellt und Kindmodelle erstellt werden
Im Wesentlichen muss ich eine Instanz des Kindmodells erstellen, einige Daten abrufen und einen Hash erstellen. Dann möchte ich app.models.ChildModel.createHash() mehrmals im Boot-Skript aufrufen, um ein Wörterbuch für jedes der Modelle zu erstellen.
Ich bin mir nicht sicher, wo ich anfangen soll .. Wie gebe ich den Namen der Kindklasse (oder Instanz) an Eltern? Ich brauche es offensichtlich, um die Daten abzufragen.
Ich habe eine funktionierende Lösung für ein konkretes Regions
Modell
module.exports = function(Regions){
var countriesHash={};
Regions.setup=function(next){
Regions.find({where:{type:'Country'}}, function(err, countries){
countries.forEach(function(country){
countriesHash[country.id]=country;
});
console.log('hash built');
next();
});
};
aber ich will es zu abstrakt Dictionary
Klasse Refactoring und nur ein paar Eigenschaften, wie zB Kindernamen und where
in konkreten Modellen gesetzt.
Ich versuchte mixin module.exports mit = function (Modell, Optionen) { Model.createHash = function (nächste) { Model.find ({where: options.where}, Funktion (err, items) { aber die Items sind leer, ich denke, das liegt am generischen Model, nicht an einer bestimmten Modelinstanz –
schlag das, es funktioniert perfekt Ich denke das letzte Mal habe ich versucht das Mixin gab es einen anderen Fehler der das Ergebnis geleert hat viel. –