Comment utiliser Sequelize belongsToMany associations?
J'ai des projets et des utilisateurs.
Un utilisateur peut avoir plusieurs projets.
Un projet peut avoir plusieurs utilisateurs.
J'ai essayé de modèle avec un belongsToMany association.
Sur mon serveur, j'ai défini les associations telles que:
user.belongsToMany(project, {
through: 'writer_of_project'
foreign-key: 'user'
as: \projects
});
project.bbelongsToMany(user, {
through: 'writer_of_project'
foreign-key: 'project'
as: 'writers'
});
Sur mon client, il ressemble à ceci:
user: {
id: 1,
...
projects: [1,2,3]
}
project: {
id: 1,
...
writers: [1,4,5]
}
Sur le serveur de l'association nécessite une troisième table pour stocker l'association et Sequelize ne semble pas permettez-moi d'inclure les modèles correspondants.
Si je lance un project.find(1)
avec include:[user]
- je obtenir
utilisateur n'est pas associée avec le projet!
Si j'ai essayer de mettre le projet à partir de l'exemple ci-dessus, dans la méthode de mise à jour. Les utilisateurs attribut est tout simplement ignoré (je m'attendais à un projet.setUsers(projectUpdate.les utilisateurs de se produire dans l'arrière-plan).
Quelle est la bonne façon de traiter avec le chargement et la mise à jour de ces associations?
OriginalL'auteur K.. | 2015-04-16
Vous devez vous connecter pour publier un commentaire.
Lorsque vous fournir un alias (
as
) à l'association, vous devez fournir que de l'inclure ainsi:Ou vous pourriez économiser de l'association:
OriginalL'auteur Jan Aagaard Meier