['type', 'is_simulate_form'], '%like%' => ['title'], ]; } public function queryWhere(){ $where = []; if(!empty($this->params['area'])){ $where[] = ['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 = GroupActivity::where($this->searchWhere) ->where($this->queryWhere()) ->field(['id', 'title', 'image','equity_id','origin_price','price','start_time', 'end_time', 'participant_num', 'type', 'form_time_limit', 'is_simulate_form', 'simulate_num','area']) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) ->select() ->toArray(); foreach ($list as $key => &$item) { $item['price'] = $item['price'] ? explode(',', $item['price']) : []; $item['participant_num'] = $item['participant_num'] ? explode(',', $item['participant_num']) : []; $item['simulate_num'] = $item['simulate_num'] ? explode(',', $item['simulate_num']) : []; $item['area'] = $item['area'] ? explode(',', $item['area']) : []; } return $list; } /** * @notes 获取拼团活动数量 * @return int * @author likeadmin * @date 2025/03/13 10:31 */ public function count(): int { return GroupActivity::where($this->searchWhere)->where($this->queryWhere())->count(); } }