У меня возникают проблемы при использовании запроса DISTINCT в диалоговом окне Paginator DbSelect в ZF2. Мои шаги.Zend Paginator Adapter DbSelect Проблема DISTINCT в ZF2
Сначала я создал объект Select.
$select = new Select();
$select->columns(
array(
'personId' => new Expression("DISTINCT $this->table.person_id"),
'first_name', 'middle_name', 'last_name'));
$select->from($this->table);
Затем я передал этот объект Zend \ Paginator \ адаптер \ DbSelect
$result = new DbSelect($select, $this->adapter, $this->resultSetPrototype);
Теперь вопрос заключается в том, что если я печатаю SQL запрос через echo str_replace('"', '', $select->getSqlString());
и запустить этот запрос на MySQL это показывает 12 результатов ,
Но $result->count();
показан результат 55.
Я попытался выяснить проблему и обнаружил, что функция Zend \ Paginator \ Adapter \ DbSelect count()
не работает.
Когда я печатал запрос sql в Zend \ Paginator \ Adapter \ DbSelect count()
, он удаляет предложение DISTINCT из запроса и добавляет свой собственный столбец c.
SELECT COUNT(1) AS c FROM myTable;
Пожалуйста, предложите что я должен делать?
Refer: http://stackoverflow.com/questions/6733117/how-to-use-distinct-in-zend-db-model – Arvind