SequelizeDatabaseError - Отсутствует столбец - Ассоциация один ко многим - PullRequest
0 голосов
/ 11 июня 2018

Я слежу за следующим уроком здесь

Все работает до Вывод списка todo-элементов внутри todos

У меня следующая ошибкаотчет при отправке запроса на сервер:

{"name":"SequelizeDatabaseError","parent":{"name":"error","length":104,"severity":"ERROR","code":"42703","position":"440","file":"parse_relation.c","line":"2743","routine":"errorMissingColumn","sql":"SELECT \"ItemSet\".\"id\", \"ItemSet\".\"title\", \"ItemSet\".\"createdAt\", \"ItemSet\".\"updatedAt\", \"items\".\"id\" AS \"items.id\", \"items\".\"content\" AS \"items.content\", \"items\".\"complete\" AS \"items.complete\", \"items\".\"createdAt\" AS \"items.createdAt\", \"items\".\"updatedAt\" AS \"items.updatedAt\", \"items\".\"itemSetId\" AS \"items.itemSetId\", \"items\".\"itemId\" AS \"items.itemId\" FROM \"ItemSets\" AS \"ItemSet\" LEFT OUTER JOIN \"Items\" AS \"items\" ON \"ItemSet\".\"id\" = \"items\".\"itemId\";"},"original":{"name":"error","length":104,"severity":"ERROR","code":"42703","position":"440","file":"parse_relation.c","line":"2743","routine":"errorMissingColumn","sql":"SELECT \"ItemSet\".\"id\", \"ItemSet\".\"title\", \"ItemSet\".\"createdAt\", \"ItemSet\".\"updatedAt\", \"items\".\"id\" AS \"items.id\", \"items\".\"content\" AS \"items.content\", \"items\".\"complete\" AS \"items.complete\", \"items\".\"createdAt\" AS \"items.createdAt\", \"items\".\"updatedAt\" AS \"items.updatedAt\", \"items\".\"itemSetId\" AS \"items.itemSetId\", \"items\".\"itemId\" AS \"items.itemId\" FROM \"ItemSets\" AS \"ItemSet\" LEFT OUTER JOIN \"Items\" AS \"items\" ON \"ItemSet\".\"id\" = \"items\".\"itemId\";"},"sql":"SELECT \"ItemSet\".\"id\", \"ItemSet\".\"title\", \"ItemSet\".\"createdAt\", \"ItemSet\".\"updatedAt\", \"items\".\"id\" AS \"items.id\", \"items\".\"content\" AS \"items.content\", \"items\".\"complete\" AS \"items.complete\", \"items\".\"createdAt\" AS \"items.createdAt\", \"items\".\"updatedAt\" AS \"items.updatedAt\", \"items\".\"itemSetId\" AS \"items.itemSetId\", \"items\".\"itemId\" AS \"items.itemId\" FROM \"ItemSets\" AS \"ItemSet\" LEFT OUTER JOIN \"Items\" AS \"items\" ON \"ItemSet\".\"id\" = \"items\".\"itemId\";"}

Я внес небольшую модификацию в учебник:

  • Я использую ItemSet вместо ToDo
  • Я использую Item вместо ToDoItem

в идеале я хотел бы что-то вернуть, что выглядит так: enter image description here

мой код доступен здесь: https://github.com/AlexanderMcNulty/seq

1 Ответ

0 голосов
/ 12 июня 2018

Я думаю, что проблема itemId определена в модели ItemSet.

ItemSet.associate = function(models) {
    ItemSet.hasMany(models.Item, {
      foreignKey: 'itemId',
      as: 'items',
    });
  };

Я не думаю, что вы определили itemId где-либо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...