request->userId; if (!$userId) return []; $where=[ 'uid'=>$userId, 'is_pay'=>0 ]; $list = Cart::where($this->searchWhere)->where($where) ->limit($this->limitOffset, $this->limitLength) ->order(['cart_id' => 'desc']) ->select()->each(function ($item) { return $item; }) ->toArray(); $total_price = 0; foreach ($list as $key => &$item) { $find = Goods::where(['id' => $item['goods_id']])->field('name,imgs,unit,sell')->find(); if($find){ $item['goods_total_price'] = bcmul($item['cart_num'], $find['sell'], 2); $total_price += $item['goods_total_price']; $item['goods_name'] = $find['name']; $item['imgs'] = $find['imgs']; $item['sell'] = $find['sell']; $item['unit_name'] = Unit::where('id',$find['unit'])->value('name'); } } $this->total_price=$total_price; return $list; } /** * @notes 购物车数量 * @return int * @date 2024/04/27 11:26 */ public function count(): int { $userId = $this->request->userId; if (!$userId) return 0; $where=[ 'uid'=>$userId, 'is_pay'=>0 ]; return Cart::where($this->searchWhere)->where($where)->count(); } public function extend() { return ['total_price'=>$this->total_price]; } }