gpt4 book ai didi

php - ZF2 ResultSet 和计数性能

转载 作者:搜寻专家 更新时间:2023-10-30 20:19:06 24 4
gpt4 key购买 nike

我将 TableGateway 与附加的自定义 RowGateway 对象一起使用。如果我想使用 TableGateway->getSql()->select() 返回的对象来获取记录计数,附加的 RowGateway 对象会提示结果集中缺少主键。

   $tablegateway = new TableGateway('table', $adapter, new RowGatewayFeature(new AuditingRowGateway($primkey, 'table', $adapter), new ResultSet());
$select = $tablegateway->getSql()->select();
$select->columns(array('num' => new \Zend\Db\Sql\Expression('COUNT(*)')));
$row = $tablegateway->selectWith($select)->current();

结果:Zend\Db\RowGateway\Exception\RuntimeException:处理主键数据时,在数据数组中找不到已知键xxx

我可以通过发出正常(即非计数)选择来解决这个问题:

$result = $tablegateway->selectWith($select);
$count = $result->count();

但不确定与“SELECT COUNT(*)”相比在性能方面的表现。

最佳答案

即使您只需要一个计数值,如果在列数组中包含主键,它也应该可以工作。

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

关于php - ZF2 ResultSet 和计数性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15785570/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com