query('module_code', '')); $action = trim((string) $request->query('action_code', '')); $operatorType = trim((string) $request->query('operator_type', '')); $operatorId = (int) $request->query('operator_id', 0); $startDate = trim((string) $request->query('start_date', '')); $endDate = trim((string) $request->query('end_date', '')); $q = AuditLog::query()->orderByDesc('id'); if ($module !== '') { $q->where('module_code', $module); } if ($action !== '') { $q->where('action_code', $action); } if ($operatorType !== '') { $q->where('operator_type', $operatorType); } if ($operatorId > 0) { $q->where('operator_id', $operatorId); } if ($startDate !== '') { $q->whereDate('created_at', '>=', $startDate); } if ($endDate !== '') { $q->whereDate('created_at', '<=', $endDate); } $paginator = $q->paginate($p['perPage'], ['*'], 'page', $p['page']); return ApiResponse::success(AuditLogApiPresenter::listPayload($paginator)); } }