ZF2 kürzlich 2.1.4 mit einer Datenbank-API-Version aktualisiert wurde http://framework.zend.com/security/advisory/ZF2013-03 geändertZend Framework 2: Subqueries
Jetzt ist der Code, den ich für eine Unterabfrage verwendet wurde, war eine Ausnahme:
$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() ------> Hinweis: Wenn Sie versuchen, einen Wert in Zend \ Db \ Adapter \ Platform \ Mysql ohne Unterstützung für Erweiterungen/Treiber zu zitieren, können Sicherheitslücken in einer Produktionsumgebung entstehen.
Ich kann keine alternative Möglichkeit zur Verwendung von Unterabfragen finden. Bitte sagen Sie mir, wie es sein soll, wie Sie jetzt Unterabfragen verwenden. Vielen Dank!
Es ist bug: https://github.com/zendframework/zf2/pull/4068
In naher Zukunft, ich glaube, es fixiert.