У меня есть данные которые я получил от mysql. Это тесты, я получил все вопросы и нужно их в массив загнать все полученные по выборке значение. И хочу все ответы переместить в массив.
Чтобы все это показать
const Router = require('koa-router'),
Test = require('./model/test'),
router = new Router();
router.get('/testing/:id', async ctx => {
let theme = await Test.theme(ctx.params.id);
let test = await Test.test(ctx.params.id);
let answearArr = test.map(item => {
Test.answear(item.id);
});
console.log(answearArr);
})
Получаю массив вот такой
[ undefined, undefined, undefined ]
Внутри item находится следующий массив
RowDataPacket {
id: 1,
name: 'Первый вопрос',
id_theme: 1 }
RowDataPacket {
id: 2,
name: 'Второй вопрос?',
id_theme: 1 }
RowDataPacket {
id: 4,
name: 'Третий вопрос',
id_theme: 1 }
Чтобы понимаю что находится в переменной
Testconst db = require('../bin/db');
let Test = {
test: function(id){
return requestTest('SELECT * FROM questions WHERE id_theme = ?', id);
},
answear: function(id){
return requestTest('SELECT * FROM answers WHERE id_question = ?', id);
},
theme: function(id){
return requestTest('SELECT name FROM thema WHERE id = ?', id);
}
};
function requestTest(sql, req) {
return new Promise((resolve, reject) => {
db.query(
sql,
[req],
(err, rows) => {
if(err) reject(err);
resolve(rows);
});
}).then(rows => {return rows;});
}
module.exports = Test;