评价数的计算逻辑有问题?
$result = OrderItem::query()
->where('product_id', $item->product_id)
->whereHas('order', function ($query) {
$query->whereNotNull('paid_at');
})
->first([
DB::raw('count(*) as review_count'),
DB::raw('avg(rating) as rating')
]);
假如同一个商品有两个订单,均已支付还未评价,现在,当我评价 id
较大的订单的时候,此处的 review_count
是 2,而且商品的评价数也变成了 2,但是实际上还有一个 id
小的订单未评价,评价数应该是 1 ?
推荐文章: