['a.id','a.group_activity_id', 'a.sn','a.goods_id','a.equity_id','a.status','a.user_id'], ]; } public function queryWhere(){ $where = []; if (!empty($this->params['mobile'])) { $where[] = ['b.mobile', '=', $this->params['mobile']]; } if(!empty($this->params['title'])){ $where[] = ['c.title', 'like', '%'.$this->params['title'].'%']; } if(!empty($this->params['area'])){ $where[] = ['d.area', 'like', '%'.$this->params['area'].'%']; } return $where; } /** * @notes 获取拼团订单列表 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author likeadmin * @date 2025/03/13 10:31 */ public function lists(): array { $list = GroupOrder::alias('a') ->leftJoin('user b', 'b.id = a.user_id') ->leftJoin('group_activity c', 'c.id = a.group_activity_id') ->leftJoin('group_activity_category d', 'd.id = c.group_category_id') ->where($this->searchWhere) ->where($this->queryWhere()) ->field(['a.*','b.mobile', 'c.title', 'c.image','d.area']) ->limit($this->limitOffset, $this->limitLength) ->order(['a.id' => 'desc']) ->select() ->toArray(); foreach($list as &$item) { $item['area'] = explode(",",$item['area']); } return $list; } /** * @notes 获取拼团活动数量 * @return int * @author likeadmin * @date 2025/03/13 10:31 */ public function count(): int { return GroupOrder::alias('a') ->leftJoin('user b', 'b.id = a.user_id') ->leftJoin('group_activity c', 'c.id = a.group_activity_id') ->leftJoin('group_activity_category d', 'd.id = c.group_category_id') ->where($this->searchWhere) ->where($this->queryWhere()) ->count(); } }