ZF2 недавно обновлен до версии 2.1.4 с API базы данных изменилась http://framework.zend.com/security/advisory/ZF2013-03Zend Framework 2: подзапросы
Теперь код, который я использовал для подзапроса был исключением:
$sub = new Select('md_type');
$sub->columns(array(new Expression('COUNT(mt2.parent_id) as total')))
->where(array(
new \Zend\Db\Sql\Predicate\Expression('mt2.parent_id = mt1.id')
))
;
$subquery = new \Zend\Db\Sql\Expression("({$sub->getSqlString()})");
$select = new \Zend\Db\Sql\Select('mt1');
$select->columns(array('*', 'cnt' => $subquery));
$ sub-> getSqlString() ------> Примечание. Попытка указать значение в Zend \ Db \ Adapter \ Platform \ Mysql без поддержки расширения/драйвера может привести к уязвимостям системы безопасности в рабочей среде.
Я не могу найти альтернативный способ использования подзапросов. Скажите, пожалуйста, как быть, как использовать подзапросы сейчас. Благодаря!
Это ошибка: https://github.com/zendframework/zf2/pull/4068
В ближайшее время, я думаю, что это исправлено.