ZF2最近更新到2.1.4版本與數據庫的API已經改變http://framework.zend.com/security/advisory/ZF2013-03Zend框架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
在不久的將來,我認爲它修好。