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?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage