@holllop

Ошибка столбец «undefined» не существует, как исправить?

Думал сделать GET-запрос зависящий от POST.
Реализовал сначала так.
const postPrinterData = (req, res) => { 
  const printer_id = req.body.printer_id;

  // Выполнить нужные действия с полученным printerId
  console.log('Получен printer_id:', printer_id);

  //отправка константы printer_id для GET-запроса
  getPrinter_material({ body: { printer_id } }, res);
};

const getPrinter_material = (request, response) => {
  const { printer_id } = request.body; 

  const query = 
    SELECT pr.printer_id, m.material
    FROM printer_material pm
    JOIN printer pr ON pm.printer_id = pr.printer_id
    JOIN material m ON pm.material_id = m.material_id
    WHERE pr.printer_id = $1;
  ;

  pool.query(query, [printer_id], (error, results) => {
    if (error) {
      throw error;
    }
    response.status(200).json(results.rows);
  });
};

Но не сработало, я подумал что плохо понял тему плейсхолдеров и как ими пользоваться, по этому решил не мудрить и сделать без него.
const postPrinterData = (req, res) => {
  const printer_id = req.body.printer_id;

  // Выполнить нужные действия с полученным printerId
  console.log('Получен printer_id:', printer_id);

  //отправка константы printer_id для GET-запроса
  getPrinter_material({ body: { printer_id } }, res);
};

const getPrinter_material = (request, response) => {
  const { printer_id } = request.body; // Получаем значение из запроса POST
  const query = 
    `SELECT pr.printer_id, m.material
    FROM printer_material pm
    JOIN printer pr ON pm.printer_id = pr.printer_id
    JOIN material m ON pm.material_id = m.material_id
    WHERE pr.printer_id = ${printer_id};` 
  pool.query(query, (error, results) => {
    if (error) {
      throw error;
    }
    response.status(200).json(results.rows);
  });
};

Но получил ошибку столбец "undefined" не существует, поле чего добавил вывод константы printer_id, значения в ней я точно получаю с помощью POST. Не могу понять в чём ошибка.
  • Вопрос задан
  • 127 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы