浏览代码

[ZF-7434] Zend_Paginator

- fix adapter select with object select with a single column with zend_db_expr.

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@23717 44c647ce-9c0f-0410-b52a-842ac1e357ba
ramon 15 年之前
父节点
当前提交
cca808010d
共有 2 个文件被更改,包括 15 次插入2 次删除
  1. 1 2
      library/Zend/Paginator/Adapter/DbSelect.php
  2. 14 0
      tests/Zend/Paginator/Adapter/DbSelectTest.php

+ 1 - 2
library/Zend/Paginator/Adapter/DbSelect.php

@@ -229,8 +229,7 @@ class Zend_Paginator_Adapter_DbSelect implements Zend_Paginator_Adapter_Interfac
 
                     $groupPart = $column;
                 }
-            } else if (!empty($groupParts) && $groupParts[0] !== Zend_Db_Select::SQL_WILDCARD &&
-                       !($groupParts[0] instanceof Zend_Db_Expr)) {
+            } else if (!empty($groupParts)) {
                 $groupPart = $db->quoteIdentifier($groupParts[0], true);
             }
 

+ 14 - 0
tests/Zend/Paginator/Adapter/DbSelectTest.php

@@ -495,4 +495,18 @@ class Zend_Paginator_Adapter_DbSelectTest extends PHPUnit_Framework_TestCase
                          ->getQuery();
         $this->assertEquals($expected, $lastQuery);
     }
+
+    /**
+     * @group ZF-7434
+     */
+    public function testGroupByOneColumnWithZendExpr()
+    {
+        $select = $this->_db->select();
+        $select->from('test', 'testgroup')
+               ->group(new Zend_Db_Expr('testgroup'));
+
+        $adapter = new Zend_Paginator_Adapter_DbSelect($select);
+
+        $this->assertEquals(2, $adapter->count());
+    }
 }