Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Füllen mehrerer Tabellen in Segelwasserlinie orm

Du stellst eine großartige Frage. Es gab massive Interesse daran, verschachtelte Populate-Features in Segel zu bekommen, buchstäblich Dutzende von Issue-Requests und PRs etc.

Sehen Sie sich hier etwas Geschichte an:

[FEATURE REQUEST] #308 rekursiv füllen - Ich war zu spät zur Party und habe die Anfrage am 29. Oktober 2014 gestellt, wie Sie im Verlauf sehen werden.

Soweit ich weiß, liefen die meisten Unterhaltungen schließlich hier zusammen (nach ein paar Jahren, in denen Sails-Benutzer das Feature angefordert haben):

Deep populate #1052 (Das Problem bleibt offen Stand:14. Januar 2016 )

Aus dem Stand dieser Ausgabe ist unklar, wo wir uns befinden. Der Verlauf beider Links schlägt alternative Problemumgehungen vor, die andere verwendet haben.

Meine Vermutung ist, dass rekursives Auffüllen nicht standardmäßig unterstützt wird.

Bei der Verwendung von Wasserlinienmodellzuordnungen mit SailsJS habe ich mit einem Paket wie async.js gearbeitet - Verwenden Sie so etwas wie einen Wasserfall, um die untergeordneten Beziehungen explizit programmgesteuert zu füllen. Sie können dies mit dem Überschreiben des Standardwerts toJSON() der Modelle, die Sie aufrufen, um ihre Beziehungen (die Sie programmgesteuert ausgefüllt haben) zur JSON-Antwort hinzuzufügen. Sie können sich auch dafür entscheiden, die eingebauten Versprechungen zu verwenden, um dasselbe zu erreichen.

Fand diese (von 2014) SOF-Frage die weitere Informationen bietet.

Jemand, bitte korrigieren Sie mich hier, wenn ich diese Feature-Erweiterung in einer neueren Sails- oder Waterline-Version verpasst habe - konnte in den Versionshinweisen für keines der Projekte etwas finden, das besagt, dass dies unterstützt wird.