2017-07-12 1 views
0

Contexte: Disons que j'ai 3 modèles dans une application sailsJS parlant à un backend PostGres via la ligne d'eau: artiste, chanson et note. L'artiste contient une collection de chansons, les chansons contiennent une collection de notes. Simple, oui? Problème: Je veux être en mesure d'interroger sur la chanson et l'avoir peupler la liste des artistes avec des notes qui vont avec cela. Donc, je pourrais faire quelque chose comme ceci:SailsJS/Waterline Association avec 3 modèles

ratings:[4,2,1] 
songs:[1,4,5] 

où chaque note est l'identifiant de l'objet que j'ai créé avant et chaque chanson est l'id de l'objet de la chanson dans l'association.

De cette façon, sur le client, je peux entrer, trouver l'index sur les tableaux de notes et de chansons, et savoir que j'ai 4 sur la chanson 1, 2 sur la chanson 4, etc. Je fais cela, il semble que Waterline réorganise les objets de l'association de bas en haut en fonction de l'identifiant. Donc, quand je l'appelle le point final, je reçois ceci:

ratings:[1,2,4] 
songs:[1,4,5] 

rompant ainsi la relation entre les différents tableaux.

Je pense que c'est probablement un cas d'utilisation commun et il me manque quelque chose de basique ... qu'est-ce que c'est? Un paramètre sur la ligne de flottaison?

Ou y a-t-il une meilleure façon de faire cela?

Répondre

0

Je n'ai jamais trouvé de réponse à cela, mais j'ai fini par refactoriser mes modèles pour atteindre un niveau d'abstraction plus élevé dans mes associations.