Merge pull request #20854 from eileenmcnaughton/response
[civicrm-core.git] / Civi / Api4 / Query / SqlFunctionCOUNT.php
CommitLineData
f0acec37
CW
1<?php
2/*
3 +--------------------------------------------------------------------+
4 | Copyright CiviCRM LLC. All rights reserved. |
5 | |
6 | This work is published under the GNU AGPLv3 license with some |
7 | permitted exceptions and without any warranty. For full license |
8 | and copyright information, see https://civicrm.org/licensing |
9 +--------------------------------------------------------------------+
10 */
11
12namespace Civi\Api4\Query;
13
14/**
15 * Sql function
16 */
17class SqlFunctionCOUNT extends SqlFunction {
18
e7f6def6
CW
19 protected static $category = self::CATEGORY_AGGREGATE;
20
f0acec37
CW
21 protected static $params = [
22 [
23 'prefix' => ['', 'DISTINCT', 'ALL'],
fa7465e4 24 'max_expr' => 1,
f0acec37
CW
25 'must_be' => ['SqlField', 'SqlWild'],
26 'cant_be' => [],
27 ],
28 ];
29
7ce7b1cd 30 /**
daf464c1 31 * Reformat result as integer
7ce7b1cd
CW
32 *
33 * @see \Civi\Api4\Utils\FormattingUtil::formatOutputValues
34 * @param string $value
259207d0 35 * @param string $dataType
7ce7b1cd
CW
36 * @return string|array
37 */
259207d0
CW
38 public function formatOutputValue($value, &$dataType) {
39 // Count is always an integer
40 $dataType = 'Integer';
7ce7b1cd
CW
41 return (int) $value;
42 }
43
9cae8a07
CW
44 /**
45 * @return string
46 */
47 public static function getTitle(): string {
48 return ts('Count');
49 }
50
f0acec37 51}