From efbb6479fcc5d4bb87f5a95545b1af478ac465e6 Mon Sep 17 00:00:00 2001 From: mark_story Date: Fri, 20 May 2011 21:10:30 -0400 Subject: [PATCH] Fixing issues in DboSource::group(), which always expected an optional argument. Fixes #1656 --- cake/libs/model/datasources/dbo_source.php | 2 +- .../cases/libs/model/datasources/dbo_source.test.php | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/cake/libs/model/datasources/dbo_source.php b/cake/libs/model/datasources/dbo_source.php index abc75372d9a..a851123e9fd 100755 --- a/cake/libs/model/datasources/dbo_source.php +++ b/cake/libs/model/datasources/dbo_source.php @@ -2466,7 +2466,7 @@ function group($group, $model = null) { $group = array($group); } foreach($group as $index => $key) { - if ($model->isVirtualField($key)) { + if (is_object($model) && $model->isVirtualField($key)) { $group[$index] = '(' . $model->getVirtualField($key) . ')'; } } diff --git a/cake/tests/cases/libs/model/datasources/dbo_source.test.php b/cake/tests/cases/libs/model/datasources/dbo_source.test.php index dfc432c916b..1e913ccef22 100644 --- a/cake/tests/cases/libs/model/datasources/dbo_source.test.php +++ b/cake/tests/cases/libs/model/datasources/dbo_source.test.php @@ -4555,6 +4555,16 @@ function testVirtualFieldsInGroup() { $this->assertEqual($expected, $result); } +/** + * Test that group works without a model + * + * @return void + */ + function testGroupNoModel() { + $result = $this->db->group('created'); + $this->assertEqual(' GROUP BY created', $result); + } + /** * test the permutations of fullTableName() *