Мне нужно получить последний идентификатор из моей таблицы базы данных, поэтому я должен использовать MAX
для его достижения, поэтому я использую запрос sql: SELECT MAX(id) FROM payments
Проблема возникает, когда я пытаюсь получить значение от объекта, когда он выдает эту ошибку: id is not defined
server. js:
app.post('/sendMail', function(req, res) {
getLastPaymentId().then((data) => {
lastPaymentId = data.lastPaymentId;
console.log(lastPaymentId.MAX(id)); //here I want to get the value
});
res.redirect('/');
});
function getLastPaymentId() {
const idPayment = new Promise((resolve, reject) => {
dbConnection.getLastPaymentId().then(data => {
resolve(data)
})
});
return Promise.all([idPayment]).then(data => {
return {
lastPaymentId: data[0]
}
})
}
dbConnection. js:
function getLastPaymentId() {
return new Promise(function(resolve, reject) {
const sql = "SELECT MAX(id) FROM payments";
con.query(sql, function(err, result) {
if(err) throw err;
resolve(result);
});
});
}
module.exports.getLastPaymentId = getLastPaymentId;
Результат при простой печати объекта (console.log(lastPaymentId)
): ![enter image description here](https://i.stack.imgur.com/wUaFK.png)
Это null
, поскольку в моей базе данных еще нет строк.
Результат при печати значения (console.log(lastPaymentId.MAX(id))
):
![enter image description here](https://i.stack.imgur.com/IXJyP.png)
Вместо него должно быть напечатано null
.
Как я могу это исправить?