Я пытаюсь создать простое приложение для продажи/продажи в JavaScript с помощью Dexie.js. Я не уверен, как вернуться к возврату суммы Total Sales без написания ужасного рекурсивного кода, который выполняет запрос несколько раз только для общей суммы продаж одного продукта.Как рассчитать общий объем продаж из нескольких таблиц в базе данных IndexedDB?
Моя схема несколько, как это:
clients: "++id, name, phone",
order: "++id, clientId, daate",
order_content: "orderId, productId, qty",
product: "++id, name, mu, mk_cost, sa_cost, prod_cost",
stock: "++id, date, productId, qty, lot"
хранить типы продуктов в «Продукт» с ценами и другими деталями. Когда размещается заказ, я храню clientId в порядке, затем я использую «order_content» для хранения элементов там, используя orderId в качестве ключа для сортировки.
В основном я хочу сделать итог для каждого элемента и суммы, которая вверх.
Я попытался выполнить код ниже в цикле db.product.each(), но похоже, что я усложняю себя.
var product1Total = 0;
function calculateTotal(productId, price){
db.order_content
.where("productID")
.equals(productId)
.each(function(item){
product1Total += (price * qty)
})
}
Спасибо!
Да, это именно то, что я хотел. Извините за неопределенное сообщение. Можно ли это сделать и в ванильном JS? –
Я просто использую функции стрелок в первом примере. Замените "orderContents => {...}" на "function (orderContents) {...}" и "oc => ..." с "function (oc) {return ...}" –