Мне нужно перебрать 3 результата SQL-запросов.Проблема в том, что он приносит только первый результат, а не все.
exports.rewardsNotifications = function() {
var now = new Date()
var hourUTC = now.getUTCHours()
if (hourUTC <= 18) {
db.task(t => {
return t.any(`SELECT customer.customer_id, customer.phone_number, customer.place_group_id, customer.state, MAX(visit_date_only) AS last_visit, COUNT(visit_date) AS visit_count FROM VISITS
INNER JOIN customer ON visits.customer_id = customer.customer_id AND visits.place_group_id = customer.place_group_id
WHERE customer.state = 'on' GROUP BY customer.customer_id`).then(function(visitsData) {
for(var i=0; i<visitsData.length; i++){
var customer_id = visitsData[i]['customer_id']
var phone_number = visitsData[i]['phone_number']
var place_group_id_visits = visitsData[i]['place_group_id']
var last_visit = visitsData[i]['last_visit']
var visit_count = visitsData[i]['visit_count']
return t.any(`SELECT rewards_list.reward_name, rewards_list.required_visits, rewards_list.place_group_id FROM rewards_list`).then(function(rewards){
for(var j=0; j<rewards.length; j++){
var reward_name = rewards[j]['reward_name']
var reward_required_visits = rewards[j]['required_visits']
var place_group_id_rewards = rewards[j]['place_group_id']
return t.any(`SELECT customer_id, reward_name, place_group_id FROM rewards`).then(function(redeemedRewards){
for(var k=0; k<redeemedRewards.length; k++){
var redeemed_reward_customer_id = redeemedRewards[k]['customer_id']
var reward_redeemed_name = redeemedRewards[k]['reward_name']
var reward_rest_group_id = redeemedRewards[k]['place_group_id']
console.log('THIS ARE THE REWARDS', reward_name)
console.log('THIS IS THE CUSTOMERS', customer_id)
}
})
}
})
}
})
})
}
}
В моем console.log я только получаю первый результат из запросов (не все клиенты, не всенаграды).Что я хочу сделать, так это проверить (для всех клиентов), какие награды клиент получил, а какие нет.