relation; } /** * 집계에 적용된 상한을 반환합니다. * * @return int|null 상한 (무제한이면 null) */ public function resultCap(): ?int { return $this->resultCap; } /** * 상한에 걸려 잘렸는지 여부를 반환합니다. * * @return bool 잘렸으면 true */ public function isTruncated(): bool { return ! $this->relation->isExact(); } /** * 총 건수를 반환합니다. * * @return int 총 건수 */ public function total(): int { return $this->total; } /** * 응답에 실을 정확도 필드 묶음을 반환합니다. * * 배지·요약 자리마다 같은 키를 손으로 조립하면 한 군데만 빠져도 * 그 화면에서만 잘린 값이 정확한 것처럼 나간다. * * @return array{total: int, total_relation: string, total_is_exact: bool, result_cap: int|null} */ public function toArray(): array { return [ 'total' => $this->total, 'total_relation' => $this->relation->value, 'total_is_exact' => $this->relation->isExact(), 'result_cap' => $this->resultCap, ]; } }