私はDexie.jsを使用してJavaScriptで単純な在庫/販売アプリケーションを作成しようとしています。私は、1つの製品の合計販売数量に対して複数回クエリを実行するひどい再帰的コードを書くことなく、トータルセールス金額を返す方法についてはわかりません。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に格納し、orderIdをソートするキーとしてそこにアイテムを格納するために "order_content"を使用します。
私は基本的にすべてのアイテムとその合計を合計したいと思っています。
以下のコードをdb.product.each()ループで実行しようとしましたが、私は自分自身を複雑にしているようです。
var product1Total = 0;
function calculateTotal(productId, price){
db.order_content
.where("productID")
.equals(productId)
.each(function(item){
product1Total += (price * qty)
})
}
ありがとうございます!
うん、これは私が望んでいたまさにです。漠然とした投稿には申し訳ありません。それもバニラJSでこれを行うことは可能ですか? –
私はちょうど最初のサンプルで矢印関数を使用しています。 「function(oc){return ...}」を含む「orderContents => {...}」を「function(orderContents){...}」および「oc => ...」に置き換えます。 –