diff options
-rw-r--r-- | includes/database/select.inc | 2 | ||||
-rw-r--r-- | modules/simpletest/tests/database_test.test | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/includes/database/select.inc b/includes/database/select.inc index 16091061b..9046afbdf 100644 --- a/includes/database/select.inc +++ b/includes/database/select.inc @@ -1362,7 +1362,7 @@ class SelectQuery extends Query implements SelectQueryInterface { // Create our new query object that we will mutate into a count query. $count = clone($this); - $group_by = array_keys($count->getGroupBy()); + $group_by = drupal_map_assoc(array_values($count->getGroupBy())); if (!$count->distinct) { // When not executing a distinct query, we can zero-out existing fields diff --git a/modules/simpletest/tests/database_test.test b/modules/simpletest/tests/database_test.test index db74bd9e5..32742e0c1 100644 --- a/modules/simpletest/tests/database_test.test +++ b/modules/simpletest/tests/database_test.test @@ -2032,6 +2032,15 @@ class DatabaseSelectComplexTestCase extends DatabaseTestCase { $count = $query->countQuery()->execute()->fetchField(); $this->assertEqual($count, 3, t('Counted the correct number of records.')); + + // Test wth an alias. + $query = db_select('test_task'); + $pid_field = $query->addField('test_task', 'pid', 'pid_alias'); + $query->groupBy('pid_alias'); + + $count = $query->countQuery()->execute()->fetchField(); + + $this->assertEqual($count, 3, t('Counted the correct number of records.')); } /** |