Это содержимое из MySQL 8 в формате JSON.
Поле MySQL "ticket_json" имеет тип JSON
[{
"id": 1,
"ticket_json": [{
"id": 1570801381559,
"qty": 2,
"name": "Cognac",
"price": 1000
}, {
"id": 1570801382391,
"qty": 1,
"name": "Jäger Bomb",
"price": 900
}, {
"id": 1570801386549,
"qty": 1,
"name": "VodK Ananas",
"price": 900
}],
"created_at": "2019-10-11 15:43:08",
"updated_at": "2019-10-11 15:43:08"
}, {
"id": 2,
"ticket_json": [{
"id": 1570830556370,
"qty": 1,
"name": "Peace & Love",
"price": 600
}, {
"id": 1570830560279,
"qty": 1,
"name": "Tonic",
"price": 600
}],
"created_at": "2019-10-11 23:49:22",
"updated_at": "2019-10-11 23:49:22"
}
}]
Я получаю данные, сохраненные как метод:
getTickets() {
fetch('/api/path)
.then((response) => {
return response.json()
})
.then((data) => {
this.tickets = data;
})
.catch((error) => {
console.log(error);
})
}
Я отображаю данные следующим образом:
<div v-for="ticket in tickets">
{{ totalTicket }}
</div>
«Вычисляемый» код:
computed: {
totalTicket() {
var itemsTotal = 0;
for(var key in this.tickets) {
var item = this.tickets[key];
var subitems = item.ticket_json;
var subItemsTotal = 0;
for(var key in subitems) {
var subitem = subitems[key];
var subItemsTotal = subItemsTotal + ((subitem.la_qtt * subitem.le_tarif)/100);
};
var itemsTotal =+ subItemsTotal;
console.log(itemsTotal);
return itemsTotal;
};
}
},
В цикле я бы отображал сумму (totalTicket) каждого объекта (кол-во * цена)
Проблема, она отображает один и тот же первый результат во всем цикле
Я не очень знаком с Javascript. Если вы можете мне помочь, спасибо