Zend Framework 2 и запрос SELECT (*)

Я пытаюсь сделать такой запрос, используя Zend Framework 2:

SELECT count(*) as num FROM mytable 

Вот код, который я использую, чтобы построить мой оператор select (помните, что я импортировал необходимые классы):

 $select = new Select(); $select->from('mytable') ->columns(array('num'=>'count(*)'), false); 

Этот код не работает, потому что полученный запрос выглядит следующим образом:

 SELECT [count(*)] AS [num] FROM [mytable] 

… который вызывает следующую ошибку:

 Invalid column name 'count(*)' 

Это вызвано квадратными скобками вокруг count (*). Как я могу заставить это работать правильно, в основном, чтобы иметь счетчик (*) вместо [count (*)] в SQL. Кроме того, я знаю, что вы можете сделать это с помощью обычного запроса, но мне нужно это для работы с объектом Select. Насколько я знаю, это использовалось для работы с предыдущими версиями Zend, я видел множество решений для них, но ничего для Zend Framework 2.

Кто-то на другом форуме был достаточно любезен, чтобы дать мне ответ на этот вопрос. Вот как это делается:

 $select->columns(array('num' => new \Zend\Db\Sql\Expression('COUNT(*)'))); 

Да, без new \Zend\Db\Sql\Expression('COUNT(*)') , только COUNT(*) приводит к следующему выражению ошибки:

SQLSTATE [42S22]: Столбец не найден: 1054 Неизвестный столбец 'albs.COUNT (*)' in 'field list'

Имея

 new \Zend\Db\Sql\Expression('COUNT(*)') 

разрешил его.

Не могли бы вы попробовать этот код?

 $this->num = $select->columns(array('num' => new \Zend\Db\Sql\Expression('COUNT(*)'))); return $this->num;