Seqüenciar hasMany através de outra tabela
Ok, então eu tenho os três seguintesmodels
Módulo:
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}
)
Competência:
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}
})
Como você pode ver, a relação entre as tabelas é uman:m
Então agora eu quero encontrar todo oCompetence
que umModule
tem:
Então, eu criei o seguinte relacionamento:
Module.hasMany(Competence, {through: Module_has_competence, foreignKey: 'module_id'});
No entanto, quando tento executar:
retrieveById: function (quote_id, onSuccess, onError) {
Module.find({include: [{ all: true }],where: {id: quote_id}})
.success(onSuccess).error(onError);
}
não retorna nada. Mas se eu excluir o relacionamento, ele retornará apenas oModule
Alguém pode me dizer o que estou fazendo de errado?
Quando eu depuro
Quando eu depurar ele não registra qualquer sql, infelizmente, parece que está apenas ignorando a chamada sql?