validate([ 'member_id' => ['nullable', 'string', 'min:1'], 'change_type' => ['nullable', 'string'], ]); $page = request()->input('page', 1); $limit = request()->input('limit', 10); $memberId = request()->input('member_id'); $changeType= request()->input('change_type'); $query = BalanceLog::query(); if($changeType){ $query->where('change_type', $changeType); } if ($memberId) { $query->where('member_id', $memberId); } $data['total'] = $query->count(); $data['data'] = $query->orderByDesc('id') ->forPage($page, $limit)->with(['member']) ->get()->toArray(); $data['change_types'] = BalanceLogService::$RW; } catch (ValidationException $e) { return $this->error(HttpStatus::CUSTOM_ERROR, $e->validator->errors()->first()); } catch (Exception $e) { return $this->error(intval($e->getCode())); } return $this->success($data); } }