Mysql
 sql >> Base de données >  >> RDS >> Mysql

Remplir plusieurs tables dans sails waterline orm

Vous posez une excellente question. Il y a eu massive intérêt à obtenir une fonctionnalité de peuplement imbriquée dans les voiles, littéralement des dizaines de demandes de problèmes et de relations publiques, etc.

Jetez un oeil à un peu d'histoire ici :

[DEMANDE DE FONCTIONNALITÉ] Remplir récursivement #308 - j'étais en retard à la fête, j'ai fait la demande le 29 octobre 2014 comme vous le verrez dans l'historique.

Autant que je sache, la plupart des conversations ont finalement convergé ici (après quelques années d'utilisateurs de Sails demandant la fonctionnalité) :

Remplir en profondeur #1052 (le problème reste ouvert au moment de la rédaction 14 janvier 2016 )

Il n'est pas clair d'après l'état de ce problème où nous en sommes. L'historique des deux liens suggère des solutions alternatives que d'autres ont utilisées.

Mon intuition est que le remplissage récursif n'est pas pris en charge par défaut.

Ce que j'ai fait lors de l'utilisation des associations de modèles de lignes de flottaison avec SailsJS, c'était de travailler avec un package comme async.js - utilisez quelque chose comme cascade pour remplir explicitement les relations enfants par programme. Vous pouvez combiner cela avec le remplacement de la valeur par défaut toJSON() des modèles que vous appelez pour ajouter leurs relations (que vous avez remplies par programmation) à la réponse JSON. Vous pouvez également choisir d'utiliser les promesses intégrées pour obtenir la même chose.

Trouvé ceci (daté de 2014) question SOF qui offre plus d'informations.

Quelqu'un, s'il vous plaît, corrigez-moi ici si j'ai manqué cet ajout de fonctionnalité dans une version récente de Sails ou Waterline - je n'ai rien trouvé dans les notes de version de l'un ou l'autre des projets pour dire que cela était pris en charge.