ZF2最近更新到2.1.4版本与数据库的API已经改变http://framework.zend.com/security/advisory/ZF2013-03
现在,我使用子查询的代码是一个例外:
$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));
$子> getSqlString()------>注意:试图引用在Zend的\ DB \适配器\平台\ MySQL中的值,而不扩展/驱动程序的支持可以在生产环境中引入安全漏洞。
我无法找到使用子查询的另一种方式。 请告诉我如何如何,现在该怎么使用子查询。 谢谢!
这是错误: https://github.com/zendframework/zf2/pull/4068
在不久的将来,我认为它修好。