validate([ 'page' => ['nullable', 'integer', 'min:1'], 'limit' => ['nullable', 'integer', 'min:1'], 'issue' => ['nullable', 'string'], 'open_code' => ['nullable', 'string'], 'start_time' => ['nullable', 'string'], 'end_time' => ['nullable', 'string'], ]); $page = request()->input('page', 1); $limit = request()->input('limit', 15); $query = new LhcLotteryModel(); if (!empty($params['issue'])) { $query->where('issue', $params['issue']); } if (!empty($params['open_code'])) { $query->where('open_code', $params['open_code']); } if (!empty($params['start_time'])) { $query->where('open_time', '>=', strtotime($params['start_time'].' 00:00:00')); } if (!empty($params['end_time'])) { $query->where('open_time', '<', strtotime($params['end_time'].' 23:59:59')); } $count = $query->count(); $list = $query ->forPage($page, $limit) ->orderByDesc('open_time') ->get(); } catch (Exception $e) { return $this->error(HttpStatus::CUSTOM_ERROR,$e->getMessage()); } return $this->success(['total' => $count, 'data' => $list]); } }