关于商品销量更新的疑惑
$product = $item->product;
// 计算对应商品的销量
$soldCount = OrderItem::query()
->where('product_id', $product->id)
->whereHas('order', function ($query) {
$query->whereNotNull('paid_at'); // 关联的订单状态是已支付
})->sum('amount');
// 更新商品销量
$product->update([
'sold_count' => $soldCount,
]);
假如在订单量数据很大的情况下,是否不考虑这种方式,这种方式每次都要遍历数据的商品成交信息,能不能直接在已有基础上递增会不会更好,(每成交一单,拿到这单关于这个商品的销售情况,再在原商品的基础上增加),就不要每次遍历订单信息吧
推荐文章: