Sequelize hasMany durch eine andere Tabelle
Okay also ich habe die folgenden dreimodels
Modul
var Module = sequelize.define('module', {
id: DataTypes.INTEGER,
name: DataTypes.STRING,
description: DataTypes.STRING,
category_id: DataTypes.STRING,
module_type_id: DataTypes.STRING,
gives_score: DataTypes.INTEGER,
duration: DataTypes.STRING,
price: DataTypes.STRING
}, {
freezeTableName: true}
)
Kompetenz
Competence = sequelize.define('competence', {
id: DataTypes.INTEGER,
name: DataTypes.STRING,
organization_id: DataTypes.INTEGER,
competence_type_id: DataTypes.INTEGER
},{freezeTableName:true})
Module_has_competence:
Module_has_competence = sequelize.define('module_has_competence', {
id: DataTypes.INTEGER,
module_id: DataTypes.INTEGER,
competence_id: DataTypes.INTEGER,
score: DataTypes.STRING
},{
freezeTableName: true}
})
ie Sie sehen können, ist die Beziehung zwischen den Tabellen einn:m
So jetzt möchte ich alle @ findCompetence
dass einModule
hat
So habe ich die folgende Beziehung erstellt:
Module.hasMany(Competence, {through: Module_has_competence, foreignKey: 'module_id'});
Wie auch immer, wenn ich versuche zu laufen:
retrieveById: function (quote_id, onSuccess, onError) {
Module.find({include: [{ all: true }],where: {id: quote_id}})
.success(onSuccess).error(onError);
}
it gibt nichts zurück. Aber wenn ich die Beziehung lösche, gibt es nur dasModule
ann mir jemand sagen, was ich falsch mach
Wenn ich debugge
Wenn ich debugge, protokolliert es leider kein SQL, es scheint nur den SQL-Aufruf zu ignorieren?