diff --git a/lib/private/DB/QueryBuilder/QueryBuilder.php b/lib/private/DB/QueryBuilder/QueryBuilder.php index 25e879b82b..57a0e1babd 100644 --- a/lib/private/DB/QueryBuilder/QueryBuilder.php +++ b/lib/private/DB/QueryBuilder/QueryBuilder.php @@ -835,12 +835,14 @@ class QueryBuilder implements IQueryBuilder { * ->addGroupBy('u.createdAt') * * - * @param mixed $groupBy The grouping expression. + * @param mixed ...$groupBy The grouping expression. * * @return \OCP\DB\QueryBuilder\IQueryBuilder This QueryBuilder instance. */ - public function addGroupBy($groupBy) { - $groupBys = is_array($groupBy) ? $groupBy : func_get_args(); + public function addGroupBy(...$groupBys) { + if (count($groupBys) === 1 && is_array($groupBys[0])) { + $$groupBys = $groupBys[0]; + } call_user_func_array( [$this->queryBuilder, 'addGroupBy'], diff --git a/lib/public/DB/QueryBuilder/IQueryBuilder.php b/lib/public/DB/QueryBuilder/IQueryBuilder.php index 4f335c13c4..e6f4b43c24 100644 --- a/lib/public/DB/QueryBuilder/IQueryBuilder.php +++ b/lib/public/DB/QueryBuilder/IQueryBuilder.php @@ -627,12 +627,12 @@ interface IQueryBuilder { * ->addGroupBy('u.createdAt') * * - * @param mixed $groupBy The grouping expression. + * @param mixed ...$groupBy The grouping expression. * * @return \OCP\DB\QueryBuilder\IQueryBuilder This QueryBuilder instance. * @since 8.2.0 */ - public function addGroupBy($groupBy); + public function addGroupBy(...$groupBy); /** * Sets a value for a column in an insert query.