Ich habe ein Szenario, in dem ich versuche, einen Datensatz aus einer Tabelle mit einer Viele-zu-viele-Beziehung sowie die übereinstimmende recordId innerhalb der Junction (durch) Tabelle, die meine zwei Tabellen verbindet. Ich weiß, es gibt set
und get
Methoden zum Erstellen eines Datensatzes für eine Tabelle und dann automatisch die Beziehung in der through
Tabelle erstellen, aber gibt es einen Weg zu delete
?Sequelize - Datensätze mit vielen zu vielen Beziehung und durch Tabelle zu zerstören
Hier ist die Beziehung:
Benutzer
User.belongsToMany(db.Organization, { through: 'organization_member', foreignKey: 'user_id'})
Organisation
Organization.belongsToMany(db.User, { through: 'organization_member', foreignKey: 'organization_id'})
Hinweis beide foreignKey der aliased werden von Sequelize Fall Kamel, weshalb die Nachricht Fehler anders als die in der Vereinigung erwähnte Spalte.
Und ich versuche, einen Befehl zu zerstören für die user
Tabelle, wo jeder Benutzer mit der Organisation verbunden ist, die mit der aktuellen Benutzer-Sitzung verbunden ist. Leider funktioniert der folgende Befehl nicht, da organization_id
nicht in der user
Tabelle, aber der organization_member
Junction-Tabelle vorhanden ist. Kann jemand helfen?
deleteUsers: function(organizationId, t){
console.log("Step 10: Delete Users");
//DELETE users
return models.User.destroy({
where: {
organizationId: organizationId
}
},{ transaction: t })
}
Fehler:
{ [SequelizeDatabaseError: column "organizationId" does not exist]
Danke für die Antwort. 1) Beide. Ich versuche, die Verknüpfung zu entfernen, dann diese Benutzer einen Teil der entfernten Verknüpfung. Diese Methode ist Teil einer größeren Kette von Aktionen zum Löschen eines Kontos aus meiner Anwendung. 2) Guter Anruf. – cphill