Вложенные запросы в сиквелизе

Я пытаюсь запросить что-то из моей базы данных 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 есть столбец ResourceModel?

m1ch4ls 27.08.2018 21:12

Да, я сделал это. Думаю, это довольно очевидно. В моем файле модели действительно есть поле с именем moduleId. Я решил проблему. Я отправлю ответ, как только у меня будет время.

properchels 29.08.2018 19:51
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
2
1 137
0

Другие вопросы по теме