fix(QueryBuilder): Account for aliases in output columns

Signed-off-by: provokateurin <kate@provokateurin.de>
pull/48522/head
provokateurin 2 months ago
parent 26762172f5
commit e445be1202
No known key found for this signature in database
  1. 12
      lib/private/DB/QueryBuilder/QueryBuilder.php

@ -582,6 +582,9 @@ class QueryBuilder implements IQueryBuilder {
if (is_array($column)) {
$this->addOutputColumns($column);
} elseif (is_string($column) && !str_contains($column, '*')) {
if (str_contains(strtolower($column), ' as ')) {
[, $column] = preg_split('/ as /i', $column);
}
if (str_contains($column, '.')) {
[, $column] = explode('.', $column);
}
@ -591,14 +594,7 @@ class QueryBuilder implements IQueryBuilder {
}
public function getOutputColumns(): array {
return array_unique(array_map(function (string $column) {
if (str_contains($column, '.')) {
[, $column] = explode('.', $column);
return $column;
} else {
return $column;
}
}, $this->selectedColumns));
return array_unique($this->selectedColumns);
}
/**

Loading…
Cancel
Save