Контроллеры не работают после doign INNER JOIN на одном из них - nodeJs MySQL - PullRequest
0 голосов
/ 08 мая 2020

Я пытался визуализировать данные для одного представления из двух разных mysql таблиц. Сначала я визуализировал только все элементы одной таблицы с помощью этого контроллера:

 exports.mainrender = function (req, res) {
// res.send('bienvenue chez moiiii');
let sql = "SELECT * FROM skins";
let query = mysqlConnection.query(sql, (err, rows) => {
    if(req.session.isadm === 'Admin')
    res.render('admin.ejs', {
        title : 'Skins Farmerzzzzzzzz',
        skins : rows
    });
    else{
    res.render('user_index.ejs', {
        title :'Skins TEST',
        skins : rows

    })
    }
});

};

, и я смог отобразить страницу для каждого элемента и изменить их с помощью этих двух маршрутов:

 exports.edit = function (req, res) {
const userId = req.params.userId;
let sql = `SELECT * FROM skins WHERE id = ${userId} `; 
let query = mysqlConnection.query(sql,(err, result)=>{
    if(err) throw err;
    res.render('skin_edit',{
        title : 'Skins Farmez',
        user : result[0]
    });
});

};

exports.get = function (req, res) {
const userId = req.params.userId;
let sql = `Select * from skins where id = ${userId}`;  
let query = mysqlConnection.query(sql,(err, result)=>{
    if(err) throw err;
    res.render('skin_page',{
        title : 'Skins Farmez',
        user : result[0]
    });
}); 

Но теперь я хотел добавить поле «category» в свой mainrender, которое берется из другой таблицы, поэтому я изменил свои маршруты mainrender на:

 exports.mainrender = function (req, res) {
// res.send('bienvenue chez moiiii');
let sql = "SELECT * FROM skins JOIN category WHERE skins.idcateg = category.id";
let query = mysqlConnection.query(sql, (err, rows) => {
    if(req.session.isadm === 'Admin')
    res.render('admin.ejs', {
        title : 'Skins Farmerzzzzzzzz',
        skins : rows
    });
    else{
    res.render('user_index.ejs', {
        title :'Skins TEST',
        skins : rows

    })
    }
});

};

Он работает, я вижу данные из обеих таблиц, но теперь два моих других маршрута «редактировать» и «получать» больше не работают. Я получаю только сообщение об ошибке «Не могу прочитать свойство 'name' of undefined» ...

Вы можете мне помочь? Я думаю, что это связано с запросом SQL, но я не могу найти, как его хорошо изменить.

Спасибо

...