Я пытаюсь запросить что-то из моей базы данных MySql через sequelize ORM в nodejs.
Мои ассоциации выглядят примерно так:
ResourceModel.belongsTo(models.ModuleM, {
foreignKey: 'moduleId',
sourceKey: 'id'
});
ResourceModel.hasMany(models.ResourceItemM, {
foreignKey: 'resourceId',
sourceKey: 'id'
});
ResourceModel.hasMany(models.ResourceComponentM, {
foreignKey: 'resourceId',
sourceKey: 'id'
});
Я пытаюсь получить тип элемента и имя модуля для своих ресурсов, используя это:
ResourceModel.findAll({
limit: 5,
attributes: [
['resource_name', 'RESOURCE NAME'],
['res_code', 'RESOURCE CODE']
],
include: [
{
model: models.ModuleM,
attributes: [
['module_name', 'MODULE']
]
},
{
model: models.ResourceItemM,
attributes: [
['item_type', 'ITEM TYPE']
]
}
]
}).then((data)=> {
console.info('data: ', data);
})
.catch((err)=> {
console.info('Something went wrong: ', err);
})
Теперь, когда я делаю это, я получаю сообщение об ошибке: Unknown column \'ResourceModel.moduleId\' in \'on clause\'',
Когда я делаю это без второго включаемого объекта, он работает нормально, но это не удается. Есть идеи, почему?
Да, я сделал это. Думаю, это довольно очевидно. В моем файле модели действительно есть поле с именем moduleId. Я решил проблему. Я отправлю ответ, как только у меня будет время.






Можете ли вы проверить свою базу данных, что в таблице
moduleIdесть столбецResourceModel?