源代码:
public function getHotGoods()
{
return $this
->alias("a")
->join("order b","a.order_id = b.order_id")
->where("b.pay_status = 20")
->group('a.goods_id')
->order('a.total_num','desc')
->select();
}
修改过后的代码:
public function getHotGoods()
{
return $this
->alias("a")
->join('order b', "a.order_id = b.order_id")
->where('b.is_delete', 0) // 确保订单未被删除
->field('a.goods_id, SUM(a.total_num) AS total_sold') // 选择商品ID和购买总数
->group('a.goods_id') // 按商品ID分组
->order('total_sold', 'desc') // 按购买总数降序排序
->select();
}
原因: group() 中的字段 前一定要filed ()中先出现