diff options
author | Joas Schilling <coding@schilljs.com> | 2017-07-20 20:13:35 +0200 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2017-08-03 16:37:06 +0200 |
commit | daa3cfcb7087c7f116cce9d62f58066029139692 (patch) | |
tree | c7c2a1c6d5dd219244f59d255dc4f2481aeda8c1 | |
parent | 690ef259285ac56503a1a0d1cd2b29eca41ceaed (diff) | |
download | nextcloud-server-daa3cfcb7087c7f116cce9d62f58066029139692.tar.gz nextcloud-server-daa3cfcb7087c7f116cce9d62f58066029139692.zip |
Oracle does not support PDO::FETCH_KEY_PAIR
Signed-off-by: Joas Schilling <coding@schilljs.com>
-rw-r--r-- | lib/private/Comments/Manager.php | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/lib/private/Comments/Manager.php b/lib/private/Comments/Manager.php index f1c5b7dca50..6a8e79b496b 100644 --- a/lib/private/Comments/Manager.php +++ b/lib/private/Comments/Manager.php @@ -411,9 +411,12 @@ class Manager implements ICommentsManager { */ public function getNumberOfUnreadCommentsForFolder($folderId, IUser $user) { $qb = $this->dbConn->getQueryBuilder(); - $query = $qb->select('fileid', $qb->createFunction( - 'COUNT(' . $qb->getColumnName('c.id') . ')') - )->from('comments', 'c') + $query = $qb->select('fileid') + ->selectAlias( + $qb->createFunction('COUNT(' . $qb->getColumnName('c.id') . ')'), + 'num_ids' + ) + ->from('comments', 'c') ->innerJoin('c', 'filecache', 'f', $qb->expr()->andX( $qb->expr()->eq('c.object_type', $qb->createNamedParameter('files')), $qb->expr()->eq('f.fileid', $qb->expr()->castColumn('c.object_id', IQueryBuilder::PARAM_INT)) @@ -431,9 +434,13 @@ class Manager implements ICommentsManager { ->groupBy('f.fileid'); $resultStatement = $query->execute(); - return array_map(function ($count) { - return (int)$count; - }, $resultStatement->fetchAll(\PDO::FETCH_KEY_PAIR)); + + $results = []; + while ($row = $resultStatement->fetch()) { + $results[$row['fileid']] = (int) $row['num_ids']; + } + $resultStatement->closeCursor(); + return $results; } /** |