Используя Node и MySQL, как выбрать строки из таблицы A для определенного идентификатора пользователя (таблица B) - PullRequest
0 голосов
/ 01 июля 2019

Когда пользователь запускает функцию GET / tasks, мне требуется функция обратного вызова, чтобы выбрать все задачи, которые принадлежат этому пользователю, используя User_ID этого пользователя и соответствующие Task_ID (s).Поскольку таблица «Задачи» не связана напрямую с таблицей «Пользователь» (промежуточные курсы), я не уверен, как правильно выполнить этот запрос.

Пожалуйста, смотрите скриншот, который я приложил к диаграмме отношений сущностей, чтобы лучше понять, что я имею в виду.

Диаграмма отношений сущностей

Вот что у меня есть:

const express = require("express");
const app = express();
const mysql = require("mysql");
const bodyParser = require("body-parser");

app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());

const connection = mysql.createConnection({
       host: "localhost",
       user: "root",
       password: "PASSWORD",
       database: "DATABASE"
   });

connection.connect(function(err) {
   if (err) {
       console.log("Your connection to the database failed \n");
       throw err;
   } else {
       console.log("Your connection to the database was successful \n")
   }
});

app.get("/tasks/:Task_Id", function(req, res) { // is :/Task_Id correct ?
   const taskId = req.params.Task_ID; // do I also need to define and use req.params.User_ID ?
   let select = "SELECT * FROM Tasks WHERE"; // need help finishing this query

   connection.query(select, function(err, rows, fields) {
       if (err) {
           console.log("The query for tasks items failed");
           res.sendStatus(500);
           throw err;
       } else {
           console.log("The query for task items was successful");
           res.sendStatus(200);
           res.json(rows);
       }
       connection.end();
   });
});

1 Ответ

0 голосов
/ 01 июля 2019

Вы заставляете URL принимать только Task_Id. Вы можете получить User_Id, изменив параметры URL (/:Task_Id/:User_Id) или приняв User_Id в запрос URL Как это

app.get("/tasks/:Task_Id", function(req, res) { 
   const User_Id = req.query.uid;
   //... Rest of the code ...
})

Примечание: необходимо отправить UID в URL, как это >> url.com/tasks/taskid?uid="userid goes here"

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