как написать запрос в sequelize, чтобы найти все задачи, связанные с user_id - PullRequest
0 голосов
/ 07 мая 2020

Я пишу первое приложение списка задач, используя node express e js, и продолжаю с sqlite

my sqlite. js файл для схем базы данных выглядит следующим образом

const Sequelize = require("sequelize");
const sequelize = new Sequelize({
  dialect: "sqlite",
  storage: "./src/backend/databases/database.sqlite",
});

const users = sequelize.define("user", {
   username: {
    type: Sequelize.STRING,
  },
  email: {
    type: Sequelize.STRING,
    unique: true,
    allowNull: false,
  },
  password: {
    type: Sequelize.STRING,
    allowNull: false,
  },
});

const lists = sequelize.define("list", {
  item: {
    type: Sequelize.STRING,
  },
  edit: {
    type: Sequelize.BOOLEAN,
  },
  done: {
    type: Sequelize.STRING,
  },
  user_id: {
    type: Sequelize.NUMBER,
  },
});


sequelize
  .sync()
  .then(() => {
    console.log("tables have been successfully created");
    //  return sequelize.drop();
  })
  .catch((e) => console.log(e));

module.exports = {
  users: users,
  lists: lists,
};

Я хочу получить доступ и отобразить все задачи, связанные с user_id. Я использовал метод sequelize findall, как показано ниже

const dbConn = require("../databases/sqlite.js");
const list = dbConn.list;

 list.findAll({ where: { user_id: user_id } }).then((todoList) => {
    res
      .render("profile", { todoList: todoList })
      .catch((err) => console.error(err));
  });

, но мне не удалось отобразить в файле e js. он говорит, что список задач не определен

e js файл

 <div class="addedTask">
            <h3>Added tasks</h3>
              <% for( let i = 0; i< todoList.length ; i++){ %>
                <% console.log(todoList[i])%>
              <% } %>
          </div>

отображается ошибка - [todoList не определен]

как мне изменить свой подход к показать все задачи, связанные с single user_id

заранее спасибо

1 Ответ

0 голосов
/ 07 мая 2020
list.findAll({ where: { user_id: user_id } }).then((todoLists) => {
    res
      .render("profile", { todoLists });
  }).catch((err) => console.error(err));

Подскажите, пожалуйста, откуда вы берете user_id?

...