gpt4 book ai didi

php - 依靠 Zend_Db_Select

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:00:01 27 4
gpt4 key购买 nike

假设我有一个随机的 zend_db_select 对象。

我如何对该对象进行计数,以便知道满足查询的项目数量。

我尝试了以下方法:

$data->TotalRecords = $select->columns(new Zend_Db_Expr('COUNT(*)'))->query()->fetch();

但这给了我以下错误:

Message: No table has been specifiedfor the FROM clause

查询本身工作正常并返回一个结果集。

最佳答案

有几种方法可以指定要在 Zend_Db_Select 中获取的列。以下两个产品相同的SQL

$select = $db->select()
->from('myTable', array())
->columns(array('TotalRecords' => new Zend_Db_Expr('COUNT(*)')));

$select = $db->select()
->from('myTable', array('TotalRecords' => new Zend_Db_Expr('COUNT(*)')));

from 方法接受第一个参数,表名和第二个参数,要获取的列数组。如果您使用的是表达式,则可以指定一个 'key' => Expr。

将 Zend_Db_Select 转换为用于调试或与其他函数一起使用的 SQL 字符串真的很容易。

echo $select; // prints SELECT COUNT(*) AS `TotalRecords` FROM `myTable`

这使用了一个 toString 方法,它被 Zend_Db 获取方法自动调用:

$total = $db->fetchOne($select); 

echo $total; //prints the number of rows matching the query

其中 $db 是 Zend_Db 的一个实例。

关于php - 依靠 Zend_Db_Select,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3900882/

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