with(['trade' => function ($query) { return $query->select('id, title, pay_fee'); }]) ->where(['mall_id' => $this->mall_id]); // 搜索 !empty($params['no']) && $model->andWhere(['like', 'sys_order_no', $params['no']]); !empty($params['type']) && $model->andWhere(['=', 'trade_type', $params['type']]); !empty($params['status']) && $model->andWhere(['=', 'status', $params['status']]); $pagination = new Pagination(['totalCount' => $model->count(), 'pageSize' => $limit]); $model->limit($pagination->limit)->offset($pagination->offset); $list = $model->asArray() ->orderBy('id desc') ->all(); foreach ($list as $k => $v) { $list[$k]['status_text'] = StatusEnum::getValue($v['status']); $list[$k]['trade_type_text'] = HuijuBillTypeEnum::getValue($v['trade_type']); } $data['list'] = $list; $data['status'] = StatusEnum::getMap(); $data['trade_type'] = HuijuBillTypeEnum::getMap(); $data['page_count'] = $pagination->pageCount; $data['current_page'] = $page + 1; return $data; } }