summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/private/db/querybuilder/querybuilder.php24
-rw-r--r--lib/public/db/querybuilder/iquerybuilder.php18
2 files changed, 42 insertions, 0 deletions
diff --git a/lib/private/db/querybuilder/querybuilder.php b/lib/private/db/querybuilder/querybuilder.php
index 1d97faf77cc..02d8ee4344d 100644
--- a/lib/private/db/querybuilder/querybuilder.php
+++ b/lib/private/db/querybuilder/querybuilder.php
@@ -301,6 +301,30 @@ class QueryBuilder implements IQueryBuilder {
}
/**
+ * Specifies an item that is to be returned with a different name in the query result.
+ *
+ * <code>
+ * $qb = $conn->getQueryBuilder()
+ * ->selectAlias('u.id', 'user_id')
+ * ->from('users', 'u')
+ * ->leftJoin('u', 'phonenumbers', 'p', 'u.id = p.user_id');
+ * </code>
+ *
+ * @param mixed $select The selection expressions.
+ * @param string $alias The column alias used in the constructed query.
+ *
+ * @return \OCP\DB\QueryBuilder\IQueryBuilder This QueryBuilder instance.
+ */
+ public function selectAlias($select, $alias) {
+
+ $this->queryBuilder->addSelect(
+ $this->helper->quoteColumnName($select) . ' AS ' . $this->helper->quoteColumnName($alias)
+ );
+
+ return $this;
+ }
+
+ /**
* Adds an item that is to be returned in the query result.
*
* <code>
diff --git a/lib/public/db/querybuilder/iquerybuilder.php b/lib/public/db/querybuilder/iquerybuilder.php
index 3fc07af1a47..beb922b7feb 100644
--- a/lib/public/db/querybuilder/iquerybuilder.php
+++ b/lib/public/db/querybuilder/iquerybuilder.php
@@ -239,6 +239,24 @@ interface IQueryBuilder {
public function select($select = null);
/**
+ * Specifies an item that is to be returned with a different name in the query result.
+ *
+ * <code>
+ * $qb = $conn->getQueryBuilder()
+ * ->selectAlias('u.id', 'user_id')
+ * ->from('users', 'u')
+ * ->leftJoin('u', 'phonenumbers', 'p', 'u.id = p.user_id');
+ * </code>
+ *
+ * @param mixed $select The selection expressions.
+ * @param string $alias The column alias used in the constructed query.
+ *
+ * @return \OCP\DB\QueryBuilder\IQueryBuilder This QueryBuilder instance.
+ * @since 8.2.1
+ */
+ public function selectAlias($select, $alias);
+
+ /**
* Adds an item that is to be returned in the query result.
*
* <code>